aboutsummaryrefslogtreecommitdiff
path: root/src/modules/commands/general/mod.rs
blob: ce877553b34c09e84976c24ae9b6f1705f53e35c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
pub mod misc;
pub mod nsfw;
// pub mod roles;
// pub mod tags;
pub mod fun;
pub mod utilities;
pub mod animals;
// pub mod voice;

use self::misc::*;
use self::nsfw::*;
// use self::roles::*;
// use self::tags::*;
use self::fun::*;
use self::utilities::*;
use self::animals::*;
// use self::voice::*;
use serenity::framework::standard::CreateGroup;

pub fn init_animals() -> CreateGroup {
    CreateGroup::default()
        .help_available(true)
        // .cmd("bunny", Bunny) // TODO: Add bunny
        .cmd("cat", Cat)
        .cmd("dog", Dog)
        .cmd("duck", Duck)
        .cmd("fox", Fox)
        .cmd("owl", Owl)
        .cmd("uglycat", UglyCat)
}

pub fn init_anime() -> CreateGroup {
    CreateGroup::default()
        .help_available(true)
        .cmd("anime", Anime)
        .cmd("manga", Manga)
        // .cmd("waifu", Waifu)
}

pub fn init_fun() -> CreateGroup {
    CreateGroup::default()
        .help_available(true)
        .cmd("clapify", Clapify)
        .cmd("joke", DadJoke)
        // .cmd("opinion", Opinion)
        .cmd("rate", Rate)
        .cmd("urbandictionary", UrbanDictionary)
        .cmd("f", PayRespects)
        .cmd("8ball", EightBall)
        .cmd("uwufy", Uwufy)
        .cmd("yomomma", YoMomma)
}

/* pub fn init_misc() -> CreateGroup {
    CreateGroup::default()
        .help_available(true)
} */

pub fn init_minigames() -> CreateGroup {
    CreateGroup::default()
        .help_available(true)
        // .cmd("coinflip", CoinFlip)
        .cmd("dice", Dice)
        .cmd("russianroulette", RussianRoulette)
}

pub fn init_nsfw() -> CreateGroup {
    CreateGroup::default()
        .help_available(true)
        .check(|_,message,_,_| {
            if let Ok(channel) = message.channel_id.to_channel() {
                if channel.is_nsfw() {
                    true
                } else {
                    check_error!(message.channel_id.say("Woah there, you can only use this command in NSFW marked channels !"));
                    false
                }
            } else {
                check_error!(message.channel_id.say("Weird, I can't get the channel information, I can't tell if it's NSFW."));
                false
        }})
        .cmd("e621", Furry)
}

/* pub fn init_roles() -> CreateGroup {
    CreateGroup::default()
        .help_available(true)
        .guild_only(true)
        .cmd("role", AddSelfRole)
        .cmd("derole", RemoveSelfRole)
        .cmd("roles", ListSelfRoles)
}

pub fn init_tags() -> CreateGroup {
    CreateGroup::default()
        .help_available(true)
        .guild_only(true)
        .prefix("tag")
        .default_cmd(TagSingle)
        .cmd("show", TagSingle)
        .cmd("add", TagAdd)
        .cmd("del", TagRemove)
        .cmd("edit", TagEdit)
        .cmd("list", TagList)
} */

pub fn init_utilities() -> CreateGroup {
    CreateGroup::default()
        .help_available(true)
        .cmd("id", UserId)
        .cmd("membercount", MemberCount)
        .cmd("pfp", PFP)
        .cmd("ping", Ping)
        .cmd("prefix", Prefix)
        .cmd("remind", Reminder)
        .cmd("role", RoleInfo)
        .cmd("server", ServerInfo)
        // .cmd("stats", Stats)
        // .cmd("tags", TagList)
        .cmd("time", Time)
        .cmd("user", UserInfo)
        // .cmd("weather", Weather)
        .cmd("wisp", Wisp)
        // .cmd("join", Join)
        // .cmd("leave", Leave)
}