diff options
| author | acdenisSK <[email protected]> | 2017-07-02 14:33:23 +0200 |
|---|---|---|
| committer | acdenisSK <[email protected]> | 2017-07-02 18:29:29 +0200 |
| commit | 511ec87280e8ddec6589f48fec8260bf2e598bdb (patch) | |
| tree | 008846c1531ecd47887abb9623b98a960b1fa808 /src/client | |
| parent | Add a `quit` function` (diff) | |
| download | serenity-511ec87280e8ddec6589f48fec8260bf2e598bdb.tar.xz serenity-511ec87280e8ddec6589f48fec8260bf2e598bdb.zip | |
Fix doc tests
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/context.rs | 204 | ||||
| -rw-r--r-- | src/client/mod.rs | 64 |
2 files changed, 175 insertions, 93 deletions
diff --git a/src/client/context.rs b/src/client/context.rs index eaae7b3..97cde50 100644 --- a/src/client/context.rs +++ b/src/client/context.rs @@ -45,8 +45,8 @@ impl Context { /// Create a new Context to be passed to an event handler. pub(crate) fn new(shard: Arc<Mutex<Shard>>, data: Arc<Mutex<ShareMap>>) -> Context { Context { - data: data, - shard: shard, + data, + shard, } } @@ -59,15 +59,19 @@ impl Context { /// Change the current user's username: /// /// ```rust,no_run - /// # use serenity::Client; + /// # use serenity::prelude::*; + /// # use serenity::model::*; /// # - /// # let mut client = Client::new(""); - /// # - /// # client.on_message(|ctx, msg| { - /// # if msg.content == "!changename" { - /// ctx.edit_profile(|p| p.username("Hakase")); - /// # } - /// # }); + /// struct Handler; + /// + /// impl EventHandler for Handler { + /// fn on_message(&self, ctx: Context, msg: Message) { + /// if msg.content == "!changename" { + /// ctx.edit_profile(|e| e.username("Edward Elric")); + /// } + /// } + /// } + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` #[cfg(feature="builder")] pub fn edit_profile<F: FnOnce(EditProfile) -> EditProfile>(&self, f: F) -> Result<CurrentUser> { @@ -104,14 +108,19 @@ impl Context { /// Set the current user to being online on the shard: /// /// ```rust,no_run - /// # use serenity::Client; + /// # use serenity::prelude::*; + /// # use serenity::model::*; /// # - /// # let mut client = Client::new(""); - /// client.on_message(|ctx, msg| { - /// if msg.content == "!online" { - /// ctx.online(); - /// } - /// }); + /// struct Handler; + /// + /// impl EventHandler for Handler { + /// fn on_message(&self, ctx: Context, msg: Message) { + /// if msg.content == "!online" { + /// ctx.online(); + /// } + /// } + /// } + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` /// /// [`Online`]: ../model/enum.OnlineStatus.html#variant.Online @@ -128,14 +137,19 @@ impl Context { /// Set the current user to being idle on the shard: /// /// ```rust,no_run - /// # use serenity::Client; + /// # use serenity::prelude::*; + /// # use serenity::model::*; /// # - /// # let mut client = Client::new(""); - /// client.on_message(|ctx, msg| { - /// if msg.content == "!idle" { - /// ctx.idle(); - /// } - /// }); + /// struct Handler; + /// + /// impl EventHandler for Handler { + /// fn on_message(&self, ctx: Context, msg: Message) { + /// if msg.content == "!idle" { + /// ctx.idle(); + /// } + /// } + /// } + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` /// /// [`Idle`]: ../model/enum.OnlineStatus.html#variant.Idle @@ -152,14 +166,19 @@ impl Context { /// Set the current user to being Do Not Disturb on the shard: /// /// ```rust,no_run - /// # use serenity::Client; + /// # use serenity::prelude::*; + /// # use serenity::model::*; /// # - /// # let mut client = Client::new(""); - /// client.on_message(|ctx, msg| { - /// if msg.content == "!dnd" { - /// ctx.dnd(); - /// } - /// }); + /// struct Handler; + /// + /// impl EventHandler for Handler { + /// fn on_message(&self, ctx: Context, msg: Message) { + /// if msg.content == "!dnd" { + /// ctx.dnd(); + /// } + /// } + /// } + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` /// /// [`DoNotDisturb`]: ../model/enum.OnlineStatus.html#variant.DoNotDisturb @@ -177,12 +196,18 @@ impl Context { /// [`Event::Ready`] is received: /// /// ```rust,no_run - /// # use serenity::Client; + /// # use serenity::prelude::*; + /// # use serenity::model::*; /// # - /// # let mut client = Client::new(""); - /// client.on_ready(|ctx, _| { - /// ctx.invisible(); - /// }); + /// struct Handler; + /// + /// impl EventHandler for Handler { + /// fn on_ready(&self, ctx: Context, _: Ready) { + /// ctx.invisible(); + /// } + /// } + /// + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` /// /// [`Event::Ready`]: ../model/event/enum.Event.html#variant.Ready @@ -202,12 +227,18 @@ impl Context { /// Reset the presence when an [`Event::Resumed`] is received: /// /// ```rust,no_run - /// # use serenity::Client; - /// # - /// # let mut client = Client::new(""); - /// client.on_resume(|ctx, _| { - /// ctx.reset_presence(); - /// }); + /// # use serenity::prelude::*; + /// # use serenity::model::event::ResumedEvent; + /// # + /// struct Handler; + /// + /// impl EventHandler for Handler { + /// fn on_resume(&self, ctx: Context, _: ResumedEvent) { + /// ctx.reset_presence(); + /// } + /// } + /// + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` /// /// [`Event::Resumed`]: ../model/event/enum.Event.html#variant.Resumed @@ -226,21 +257,25 @@ impl Context { /// playing: /// /// ```rust,no_run - /// # use serenity::Client; - /// # - /// # let mut client = Client::new(""); + /// # use serenity::prelude::*; + /// # use serenity::model::*; /// # /// use serenity::model::Game; /// - /// client.on_message(|ctx, msg| { - /// let args = msg.content.splitn(2, ' ').collect::<Vec<&str>>(); + /// struct Handler; + /// impl EventHandler for Handler { + /// fn on_message(&self, ctx: Context, msg: Message) { + /// let args = msg.content.splitn(2, ' ').collect::<Vec<&str>>(); + /// + /// if args.len() < 2 || *unsafe { args.get_unchecked(0) } != "~setgame" { + /// return; + /// } /// - /// if args.len() < 2 || *unsafe { args.get_unchecked(0) } != "~setgame" { - /// return; - /// } + /// ctx.set_game(Game::playing(*unsafe { args.get_unchecked(1) })); + /// } + /// } /// - /// ctx.set_game(Game::playing(*unsafe { args.get_unchecked(1) })); - /// }); + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` /// /// [`Online`]: ../model/enum.OnlineStatus.html#variant.Online @@ -263,13 +298,18 @@ impl Context { /// When an [`Event::Ready`] is received, set the game name to `"test"`: /// /// ```rust,no_run - /// # use serenity::Client; - /// # - /// # let mut client = Client::new(""); + /// # use serenity::prelude::*; + /// # use serenity::model::*; /// # - /// client.on_ready(|ctx, _| { - /// ctx.set_game_name("test"); - /// }); + /// struct Handler; + /// + /// impl EventHandler for Handler { + /// fn on_ready(&self, ctx: Context, _: Ready) { + /// ctx.set_game_name("test"); + /// } + /// } + /// + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` /// /// [`Event::Ready`]: ../model/event/enum.Event.html#variant.Ready @@ -297,35 +337,41 @@ impl Context { /// Setting the current user as having no game and being [`Idle`]: /// /// ```rust,no_run - /// # use serenity::Client; + /// # use serenity::prelude::*; + /// # use serenity::model::*; /// # - /// # let mut client = Client::new(""); - /// # - /// # client.on_ready(|ctx, _| { - /// # - /// use serenity::model::OnlineStatus; - /// - /// ctx.set_presence(None, OnlineStatus::Idle, false); - /// # }); + /// struct Handler; + /// + /// impl EventHandler for Handler { + /// fn on_ready(&self, ctx: Context, _: Ready) { + /// use serenity::model::OnlineStatus; + /// + /// ctx.set_presence(None, OnlineStatus::Idle, false); + /// } + /// } + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` /// /// Setting the current user as playing `"Heroes of the Storm"`, while being /// [`DoNotDisturb`]: /// /// ```rust,ignore - /// # use serenity::Client; - /// # - /// # let mut client = Client::new(""); + /// # use serenity::prelude::*; + /// # use serenity::model::*; /// # - /// # client.on_ready(|ctx, _| { - /// # - /// use serenity::model::{Game, OnlineStatus}; - /// - /// let game = Game::playing("Heroes of the Storm"); - /// let status = OnlineStatus::DoNotDisturb; - /// - /// context.set_presence(Some(game), status, false); - /// # }); + /// struct Handler; + /// + /// impl EventHandler for Handler { + /// fn on_ready(&self, context: Context, _: Ready) { + /// use serenity::model::{Game, OnlineStatus}; + /// + /// let game = Game::playing("Heroes of the Storm"); + /// let status = OnlineStatus::DoNotDisturb; + /// + /// context.set_presence(Some(game), status, false); + /// } + /// } + /// let mut client = Client::new("token", Handler); client.start().unwrap(); /// ``` /// /// [`DoNotDisturb`]: ../model/enum.OnlineStatus.html#variant.DoNotDisturb diff --git a/src/client/mod.rs b/src/client/mod.rs index 5f47b1f..5a8bc51 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -192,6 +192,10 @@ impl<H: EventHandler + Send + Sync + 'static> Client<H> { /// Create a Client, using a token from an environment variable: /// /// ```rust,no_run + /// # use serenity::prelude::EventHandler; + /// struct Handler; + /// + /// impl EventHandler for Handler {} /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box<Error>> { @@ -199,7 +203,7 @@ impl<H: EventHandler + Send + Sync + 'static> Client<H> { /// use std::env; /// /// let token = env::var("DISCORD_TOKEN")?; - /// let client = Client::new(&token); + /// let client = Client::new(&token, Handler); /// # Ok(()) /// # } /// # @@ -247,13 +251,17 @@ impl<H: EventHandler + Send + Sync + 'static> Client<H> { /// Create a simple framework that responds to a `~ping` command: /// /// ```rust,no_run + /// # use serenity::prelude::EventHandler; /// # use std::error::Error; /// # + /// struct Handler; + /// + /// impl EventHandler for Handler {} /// # fn try_main() -> Result<(), Box<Error>> { /// use serenity::Client; /// use std::env; /// - /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?); + /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?, Handler); /// client.with_framework(|f| f /// .configure(|c| c.prefix("~")) /// .command("ping", |c| c.exec_str("Pong!"))); @@ -293,13 +301,17 @@ impl<H: EventHandler + Send + Sync + 'static> Client<H> { /// Starting a Client with only 1 shard, out of 1 total: /// /// ```rust,no_run + /// # use serenity::prelude::EventHandler; /// # use std::error::Error; /// # + /// struct Handler; + /// + /// impl EventHandler for Handler {} /// # fn try_main() -> Result<(), Box<Error>> { /// use serenity::client::Client; /// use std::env; /// - /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?); + /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?, Handler); /// /// if let Err(why) = client.start() { /// println!("Err with client: {:?}", why); @@ -334,13 +346,17 @@ impl<H: EventHandler + Send + Sync + 'static> Client<H> { /// Start as many shards as needed using autosharding: /// /// ```rust,no_run + /// # use serenity::prelude::EventHandler; /// # use std::error::Error; /// # + /// struct Handler; + /// + /// impl EventHandler for Handler {} /// # fn try_main() -> Result<(), Box<Error>> { - /// use serenity::Client; + /// use serenity::client::Client; /// use std::env; /// - /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?); + /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?, Handler); /// /// if let Err(why) = client.start_autosharded() { /// println!("Err with client: {:?}", why); @@ -389,13 +405,17 @@ impl<H: EventHandler + Send + Sync + 'static> Client<H> { /// Start shard 3 of 5: /// /// ```rust,no_run + /// # use serenity::prelude::EventHandler; /// # use std::error::Error; /// # + /// struct Handler; + /// + /// impl EventHandler for Handler {} /// # fn try_main() -> Result<(), Box<Error>> { - /// use serenity::Client; + /// use serenity::client::Client; /// use std::env; /// - /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?); + /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?, Handler); /// /// if let Err(why) = client.start_shard(3, 5) { /// println!("Err with client: {:?}", why); @@ -412,13 +432,17 @@ impl<H: EventHandler + Send + Sync + 'static> Client<H> { /// [`start_autosharded`]): /// /// ```rust,no_run + /// # use serenity::prelude::EventHandler; /// # use std::error::Error; /// # + /// struct Handler; + /// + /// impl EventHandler for Handler {} /// # fn try_main() -> Result<(), Box<Error>> { - /// use serenity::Client; + /// use serenity::client::Client; /// use std::env; /// - /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?); + /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?, Handler); /// /// if let Err(why) = client.start_shard(0, 1) { /// println!("Err with client: {:?}", why); @@ -461,13 +485,17 @@ impl<H: EventHandler + Send + Sync + 'static> Client<H> { /// Start all of 8 shards: /// /// ```rust,no_run + /// # use serenity::prelude::EventHandler; /// # use std::error::Error; /// # + /// struct Handler; + /// + /// impl EventHandler for Handler {} /// # fn try_main() -> Result<(), Box<Error>> { - /// use serenity::Client; + /// use serenity::client::Client; /// use std::env; /// - /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?); + /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?, Handler); /// /// if let Err(why) = client.start_shards(8) { /// println!("Err with client: {:?}", why); @@ -511,23 +539,31 @@ impl<H: EventHandler + Send + Sync + 'static> Client<H> { /// For a bot using a total of 10 shards, initialize shards 4 through 7: /// /// ```rust,ignore + /// # use serenity::prelude::EventHandler; + /// struct Handler; + /// + /// impl EventHandler for Handler {} /// use serenity::Client; /// use std::env; /// /// let token = env::var("DISCORD_BOT_TOKEN").unwrap(); - /// let mut client = Client::new(&token); + /// let mut client = Client::new(&token, Handler); /// /// let _ = client.start_shard_range([4, 7], 10); /// ``` /// /// ```rust,no_run + /// # use serenity::prelude::EventHandler; /// # use std::error::Error; /// # + /// struct Handler; + /// + /// impl EventHandler for Handler {} /// # fn try_main() -> Result<(), Box<Error>> { - /// use serenity::Client; + /// use serenity::client::Client; /// use std::env; /// - /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?); + /// let mut client = Client::new(&env::var("DISCORD_TOKEN")?, Handler); /// /// if let Err(why) = client.start_shard_range([4, 7], 10) { /// println!("Err with client: {:?}", why); |