aboutsummaryrefslogtreecommitdiff
path: root/src/modules/commands/general/mod.rs
blob: 7a5ea12a1f2d0c7d1dbeae36c71e4fe758e876bd (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
127
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("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)
        .cmd("urbandictionary", UrbanDictionary)
}

/* 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("privacypolicy", PrivacyPolicy)
        .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)
}