1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/// This macro creates the [`Framework`] object using the given bot name and
/// registers all the given commands on it. Call it as in
/// `create_framework!("bot_name", command1, command2, ...)`
///
/// [`Framework`]: framework/struct.Framework.html
#[macro_export]
macro_rules! create_framework {
    ($bot_name:expr, $( $c:expr ),*) => {
        {
            telexide_fork::paste_expr! {
                let mut fr = telexide_fork::framework::Framework::new($bot_name);
                $(
                     fr.add_command(&(&[<$c _COMMAND>]));
                )*
                ::std::sync::Arc::new(fr)
            }
        }
    }
}