aboutsummaryrefslogtreecommitdiff
path: root/examples/11_create_message_builder/src
diff options
context:
space:
mode:
Diffstat (limited to 'examples/11_create_message_builder/src')
-rw-r--r--examples/11_create_message_builder/src/main.rs43
1 files changed, 43 insertions, 0 deletions
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 0000000..88be5a9
--- /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);
+ }
+}