aboutsummaryrefslogtreecommitdiff
path: root/src/modules/plugins/macros.rs
blob: 84c6226c57e114752c194d2b14120a7b071b12ed (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
#![macro_use]
#![allow(unused_macros)]

#[macro_export]
macro_rules! exec_on_message {
    ([$ctx:expr, $message:expr], $($plugin:ident), *) => {{
        // use utils::config::get_pool;
        // let pool = get_pool(&$ctx);

        $($plugin::on_message($ctx, /* &pool, */ $message);)*
    }}
}

macro_rules! exec_on_message_update {
    ([$ctx:expr, $event:expr], $($plugin:ident), *) => {{
        // use utils::config::get_pool;
        // let pool = get_pool(&$ctx);

        $($plugin::on_message_update($ctx, /* &pool, */ $event);)*
    }}
}

macro_rules! exec_on_message_delete {
    ([$ctx:expr, $channel_id:expr, $msg_id:expr], $($plugin:ident), *) => {{
        // use utils::config::get_pool;
        // let pool = get_pool(&$ctx);

        $($plugin::on_message_delete($ctx, /* &pool, */ $channel_id, $msg_id);)*
    }}
}

macro_rules! exec_on_reaction_add {
    ([$ctx:expr, $reaction:expr], $($plugin:ident), *) => {{
        // use utils::config::get_pool;
        // let pool = get_pool(&$ctx);

        $($plugin::on_reaction_add($ctx, /* &pool, */ $reaction);)*
    }}
}

// macro_rules! exec_on_reaction_remove {
//     ([$ctx:expr, $reaction:expr], $($plugin:ident), *) => {{
//         use utils::config::get_pool;
//         let pool = get_pool(&$ctx);

//         $($plugin::on_reaction_remove($ctx, &pool, $reaction);)*
//     }}
// }

macro_rules! exec_on_ready {
    ([$ctx:expr, $ready:expr], $($plugin:ident), *) => {
        $($plugin::on_ready($ctx, $ready);)*
    }
}

macro_rules! exec_on_presence_update {
    ([$ctx:expr, $presenceupdateevent:expr], $($plugin:ident), *) => {
        $($plugin::on_presence_update($ctx, $presenceupdateevent);)*
    }
}

macro_rules! exec_on_guild_member_addition {
    ([$ctx:expr, $GuildId:expr, $member:expr], $($plugin:ident), *) => {{
        // use utils::config::get_pool;
        // let pool = get_pool(&$ctx);

        $($plugin::on_guild_member_addition($ctx, /* &pool, */ $GuildId, $member);)*
    }}
}


macro_rules! exec_on_guild_member_removal {
    ([$ctx:expr, $GuildId:expr, $user:expr, $member:expr], $($plugin:ident), *) => {{
        // use utils::config::get_pool;
        // let pool = get_pool(&$ctx);

        $($plugin::on_guild_member_removal($ctx, /* &pool, */ $GuildId, $user, $member);)*
    }}
}

macro_rules! exec_on_guild_ban_addition {
    ([$ctx:expr, $GuildId:expr, $user:expr], $($plugin:ident), *) => {
        $($plugin::on_guild_ban_addition($ctx, $GuildId, $user);)*
    }
}

macro_rules! exec_on_guild_ban_removal {
    ([$ctx:expr, $GuildId:expr, $user:expr], $($plugin:ident), *) => {
        $($plugin::on_guild_ban_removal($ctx, $GuildId, $user);)*
    }
}

macro_rules! exec_on_guild_member_update {
    ([$ctx:expr, $prev_member:expr, $curr_member:expr], $($plugin:ident), *) => {
        $($plugin::on_guild_member_update($ctx, $prev_member, $curr_member);)*
    }
}

macro_rules! exec_on_guild_create {
    ([$ctx:expr, $guild:expr, $if_joined:expr], $($plugin:ident), *) => {
        $($plugin::on_guild_create($ctx, $guild, $if_joined);)*
    }
}

macro_rules! exec_on_guild_members_chunk {
    ([$ctx:expr, $guild_id:expr, $members:expr], $($plugin:ident), *) => {
        $($plugin::on_guild_members_chunk($ctx, $guild_id, $members);)*
    }
}

macro_rules! exec_on_guild_update {
    ([$ctx:expr, $guild:expr, $partial_guild:expr], $($plugin:ident), *) => {
        $($plugin::on_guild_update($ctx, $guild, $partial_guild);)*
    }
}