diff options
| author | Austin Hellyer <[email protected]> | 2016-11-29 20:51:10 -0800 |
|---|---|---|
| committer | Austin Hellyer <[email protected]> | 2016-11-29 22:27:59 -0800 |
| commit | 93b990d8d1bc9df69b8e27a3db61da570822aad6 (patch) | |
| tree | 6305cf635df90681527a8e736f65ff19f21fd8bc /examples/06_command_framework.rs | |
| parent | Add more shiny readme badges (diff) | |
| download | serenity-93b990d8d1bc9df69b8e27a3db61da570822aad6.tar.xz serenity-93b990d8d1bc9df69b8e27a3db61da570822aad6.zip | |
Clean up the codebase
Diffstat (limited to 'examples/06_command_framework.rs')
| -rw-r--r-- | examples/06_command_framework.rs | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/examples/06_command_framework.rs b/examples/06_command_framework.rs deleted file mode 100644 index 78e4e9e..0000000 --- a/examples/06_command_framework.rs +++ /dev/null @@ -1,86 +0,0 @@ -#[macro_use] -extern crate serenity; - -use serenity::client::Context; -use serenity::Client; -use serenity::model::Message; -use std::env; - -fn main() { - // Configure the client with your Discord bot token in the environment. - let token = env::var("DISCORD_TOKEN") - .expect("Expected a token in the environment"); - let mut client = Client::login_bot(&token); - - client.on_ready(|_context, ready| { - println!("{} is connected!", ready.user.name); - }); - - // Commands are equivilant to: - // "~about" - // "~emoji cat" - // "~emoji dog" - // "~ping" - // "~some complex command" - client.with_framework(|f| f - .configure(|c| c - .allow_whitespace(true) - .on_mention(true) - .prefix("~")) - .before(|_context, message, command_name| { - println!("Got command '{}' by user '{}'", - command_name, - message.author.name); - }) - .after(|_context, _message, command_name| { - println!("Processed command '{}'", command_name) - }) - .on("ping", ping_command) - .set_check("ping", owner_check) // Ensure only the owner can run this - .on("emoji cat", cat_command) - .on("emoji dog", dog_command) - .on("multiply", multiply) - .on("some complex command", some_complex_command) - // Commands can be in closure-form as well - .on("about", |context, _message, _args| drop(context.say("A test bot")))); - - let _ = client.start(); -} - -command!(cat_command(context, _msg, _arg) { - let _ = context.say(":cat:"); -}); - -fn dog_command(context: &Context, _msg: &Message, _args: Vec<String>) { - let _ = context.say(":dog:"); -} - -// `Message::reply` is only compiled if the `methods` feature flag is enabled. -#[cfg(feature = "methods")] -fn ping_command(_context: &Context, message: &Message, _args: Vec<String>) { - let _ = message.reply("Pong!"); -} - -#[cfg(not(feature = "methods"))] -fn ping_command(context: &Context, message: &Message, _args: Vec<String>) { - if let Err(why) = context.say(&format!("{}: Pong!", message.author)) { - println!("Error sending message: {:?}", why); - } -} - -fn owner_check(_context: &Context, message: &Message) -> bool { - // Replace 7 with your ID - message.author.id == 7 -} - -fn some_complex_command(context: &Context, _msg: &Message, args: Vec<String>) { - let _ = context.say(&format!("Arguments: {:?}", args)); -} - -command!(multiply(context, _message, args, first: f64, second: f64) { - let res = first * second; - - let _ = context.say(&res.to_string()); - - println!("{:?}", args); -}); |