From aba1ba67dc78a0c14e5de3c8ac650829e436e96f Mon Sep 17 00:00:00 2001 From: Perry Fraser Date: Wed, 31 Jan 2018 17:28:01 -0500 Subject: [PATCH] Add create message builder example (#268) --- examples/11_create_message_builder/Cargo.toml | 7 +++ .../11_create_message_builder/src/main.rs | 43 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 examples/11_create_message_builder/Cargo.toml create mode 100644 examples/11_create_message_builder/src/main.rs diff --git a/examples/11_create_message_builder/Cargo.toml b/examples/11_create_message_builder/Cargo.toml new file mode 100644 index 00000000000..07d66a87994 --- /dev/null +++ b/examples/11_create_message_builder/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "11_create_message_builder" +version = "0.1.0" +authors = ["my name "] + +[dependencies] +serenity = { path = "../../" } diff --git a/examples/11_create_message_builder/src/main.rs b/examples/11_create_message_builder/src/main.rs new file mode 100644 index 00000000000..88be5a95b1a --- /dev/null +++ b/examples/11_create_message_builder/src/main.rs @@ -0,0 +1,43 @@ +extern crate serenity; + +use serenity::model::channel::Message; +use serenity::model::gateway::Ready; +use serenity::prelude::*; +use std::env; + +struct Handler; + +impl EventHandler for Handler { + fn message(&self, _: Context, msg: Message) { + if msg.content == "!hello" { + // The create message builder allows you to easily create embeds and messages + // using a builder syntax. + // This example will create a message that says "Hello, World!", with an embed that has + // a title, description, and footer. + if let Err(why) = msg.channel_id.send_message(|m| m + .content("Hello, World!") + .embed(|e| e + .title("This is a title") + .description("This is a description") + .footer(|f| f + .text("This is a footer")))) { + println!("Error sending message: {:?}", why); + } + } + } + + fn ready(&self, _: Context, ready: Ready) { + println!("{} is connected!", ready.user.name); + } +} + +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::new(&token, Handler).expect("Err creating client"); + + if let Err(why) = client.start() { + println!("Client error: {:?}", why); + } +}