diff options
| author | Zeyla Hellyer <[email protected]> | 2017-12-16 08:39:36 -0800 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-12-16 08:45:26 -0800 |
| commit | bcd16dddb8cc3086a13524c79676f3a8bebbc524 (patch) | |
| tree | 42d254fb4738df957c4b7d9e5766d1cb5bd47323 /src/builder | |
| parent | Fix guild deserialization tests (diff) | |
| download | serenity-bcd16dddb8cc3086a13524c79676f3a8bebbc524.tar.xz serenity-bcd16dddb8cc3086a13524c79676f3a8bebbc524.zip | |
Break up the model module
The `model` module has historically been one giant module re-exporting
all of the model types, which is somewhere around 100 types. This can be
a lot to look at for a new user and somewhat overwhelming, especially
with a large number of fine-grained imports from the module.
The module is now neatly split up into submodules, mostly like it has
been internally since the early versions of the library. The submodules
are:
- application
- channel
- error
- event
- gateway
- guild
- id
- invite
- misc
- permissions
- prelude
- user
- voice
- webhook
Each submodule contains types that are "owned" by the module. For
example, the `guild` submodule contains, but not limited to, Emoji,
AuditLogsEntry, Role, and Member. `channel` contains, but not limited
to, Attachment, Embed, Message, and Reaction.
Upgrade path:
Instead of glob importing the models via `use serenity::model::*;`,
instead glob import via the prelude:
```rust
use serenity::model::prelude::*;
```
Instead of importing from the root model module:
```rust
use serenity::model::{Guild, Message, OnlineStatus, Role, User};
```
instead import from the submodules like so:
```rust
use serenity::model::channel::Message;
use serenity::model::guild::{Guild, Role};
use serenity::model::user::{OnlineStatus, User};
```
Diffstat (limited to 'src/builder')
| -rw-r--r-- | src/builder/create_embed.rs | 15 | ||||
| -rw-r--r-- | src/builder/create_invite.rs | 10 | ||||
| -rw-r--r-- | src/builder/create_message.rs | 4 | ||||
| -rw-r--r-- | src/builder/edit_guild.rs | 10 | ||||
| -rw-r--r-- | src/builder/edit_member.rs | 2 | ||||
| -rw-r--r-- | src/builder/edit_profile.rs | 2 | ||||
| -rw-r--r-- | src/builder/edit_role.rs | 5 | ||||
| -rw-r--r-- | src/builder/execute_webhook.rs | 2 | ||||
| -rw-r--r-- | src/builder/get_messages.rs | 4 |
9 files changed, 28 insertions, 26 deletions
diff --git a/src/builder/create_embed.rs b/src/builder/create_embed.rs index ae0975b..1b15253 100644 --- a/src/builder/create_embed.rs +++ b/src/builder/create_embed.rs @@ -17,7 +17,7 @@ use chrono::{DateTime, TimeZone}; use internal::prelude::*; -use model::Embed; +use model::channel::Embed; use serde_json::Value; use std::collections::HashMap; use std::default::Default; @@ -203,9 +203,9 @@ impl CreateEmbed { /// Passing a string timestamp: /// /// ```rust,no_run - /// # use serenity::prelude::*; - /// # use serenity::model::*; - /// # + /// use serenity::prelude::*; + /// use serenity::model::channel::Message; + /// /// struct Handler; /// /// impl EventHandler for Handler { @@ -229,9 +229,10 @@ impl CreateEmbed { /// Note: this example isn't efficient and is for demonstrative purposes. /// /// ```rust,no_run - /// # use serenity::prelude::*; - /// # use serenity::model::*; - /// # + /// use serenity::prelude::*; + /// use serenity::model::guild::Member; + /// use serenity::model::id::GuildId; + /// /// struct Handler; /// /// impl EventHandler for Handler { diff --git a/src/builder/create_invite.rs b/src/builder/create_invite.rs index 269c51c..d91a0e6 100644 --- a/src/builder/create_invite.rs +++ b/src/builder/create_invite.rs @@ -14,7 +14,7 @@ use std::default::Default; /// /// ```rust,no_run /// # use serenity::prelude::*; -/// # use serenity::model::*; +/// # use serenity::model::prelude::*; /// /// struct Handler; /// @@ -77,7 +77,7 @@ impl CreateInvite { /// /// ```rust,no_run /// # use serenity::CACHE; - /// # use serenity::model::ChannelId; + /// # use serenity::model::id::ChannelId; /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box<Error>> { @@ -110,7 +110,7 @@ impl CreateInvite { /// /// ```rust,no_run /// # use serenity::CACHE; - /// # use serenity::model::ChannelId; + /// # use serenity::model::id::ChannelId; /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box<Error>> { @@ -141,7 +141,7 @@ impl CreateInvite { /// /// ```rust,no_run /// # use serenity::CACHE; - /// # use serenity::model::ChannelId; + /// # use serenity::model::id::ChannelId; /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box<Error>> { @@ -172,7 +172,7 @@ impl CreateInvite { /// /// ```rust,no_run /// # use serenity::CACHE; - /// # use serenity::model::ChannelId; + /// # use serenity::model::id::ChannelId; /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box<Error>> { diff --git a/src/builder/create_message.rs b/src/builder/create_message.rs index bd5996a..a8f22f9 100644 --- a/src/builder/create_message.rs +++ b/src/builder/create_message.rs @@ -1,5 +1,5 @@ use internal::prelude::*; -use model::ReactionType; +use model::channel::ReactionType; use std::collections::HashMap; use std::fmt::Display; use super::CreateEmbed; @@ -23,7 +23,7 @@ use utils; /// Sending a message with a content of `"test"` and applying text-to-speech: /// /// ```rust,no_run -/// use serenity::model::ChannelId; +/// use serenity::model::id::ChannelId; /// /// let channel_id = ChannelId(7); /// diff --git a/src/builder/edit_guild.rs b/src/builder/edit_guild.rs index 45969fe..b15658c 100644 --- a/src/builder/edit_guild.rs +++ b/src/builder/edit_guild.rs @@ -1,5 +1,5 @@ use internal::prelude::*; -use model::{ChannelId, Region, UserId, VerificationLevel}; +use model::prelude::*; use std::collections::HashMap; /// A builder to optionally edit certain fields of a [`Guild`]. This is meant @@ -56,7 +56,7 @@ impl EditGuild { /// from the cwd and encode it in base64 to send to Discord. /// /// ```rust,no_run - /// # use serenity::model::GuildId; + /// # use serenity::model::id::GuildId; /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box<Error>> { @@ -112,12 +112,12 @@ impl EditGuild { /// Setting the region to [`Region::UsWest`]: /// /// ```rust,no_run - /// # use serenity::model::GuildId; + /// # use serenity::model::id::GuildId; /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box<Error>> { /// # let mut guild = GuildId(0).get()?; - /// use serenity::model::Region; + /// use serenity::model::guild::Region; /// /// // assuming a `guild` has already been bound /// @@ -163,7 +163,7 @@ impl EditGuild { /// Setting the verification level to [`High`][`VerificationLevel::High`]: /// /// ```rust,ignore - /// use serenity::model::VerificationLevel; + /// use serenity::model::guild::VerificationLevel; /// /// // assuming a `guild` has already been bound /// diff --git a/src/builder/edit_member.rs b/src/builder/edit_member.rs index e68fc43..ee04829 100644 --- a/src/builder/edit_member.rs +++ b/src/builder/edit_member.rs @@ -1,5 +1,5 @@ use internal::prelude::*; -use model::{ChannelId, RoleId}; +use model::id::{ChannelId, RoleId}; use std::collections::HashMap; /// A builder which edits the properties of a [`Member`], to be used in diff --git a/src/builder/edit_profile.rs b/src/builder/edit_profile.rs index 09d3337..d388804 100644 --- a/src/builder/edit_profile.rs +++ b/src/builder/edit_profile.rs @@ -21,7 +21,7 @@ impl EditProfile { /// /// ```rust,no_run /// # use serenity::prelude::*; - /// # use serenity::model::*; + /// # use serenity::model::prelude::*; /// # /// # struct Handler; /// diff --git a/src/builder/edit_role.rs b/src/builder/edit_role.rs index 7e2ff17..88c876f 100644 --- a/src/builder/edit_role.rs +++ b/src/builder/edit_role.rs @@ -1,6 +1,7 @@ use internal::prelude::*; use std::collections::HashMap; -use model::{Permissions, Role}; +use model::guild::Role; +use model::Permissions; /// A builer to create or edit a [`Role`] for use via a number of model methods. /// @@ -20,7 +21,7 @@ use model::{Permissions, Role}; /// Create a hoisted, mentionable role named `"a test role"`: /// /// ```rust,no_run -/// # use serenity::model::{ChannelId, GuildId}; +/// # use serenity::model::id::{ChannelId, GuildId}; /// # let (channel_id, guild_id) = (ChannelId(1), GuildId(2)); /// # /// // assuming a `channel_id` and `guild_id` has been bound diff --git a/src/builder/execute_webhook.rs b/src/builder/execute_webhook.rs index 6276da1..fb48e96 100644 --- a/src/builder/execute_webhook.rs +++ b/src/builder/execute_webhook.rs @@ -17,7 +17,7 @@ use std::default::Default; /// /// ```rust,no_run /// use serenity::http; -/// use serenity::model::Embed; +/// use serenity::model::channel::Embed; /// use serenity::utils::Colour; /// /// let id = 245037420704169985; diff --git a/src/builder/get_messages.rs b/src/builder/get_messages.rs index e59584f..1032a2f 100644 --- a/src/builder/get_messages.rs +++ b/src/builder/get_messages.rs @@ -1,4 +1,4 @@ -use model::MessageId; +use model::id::MessageId; use std::collections::HashMap; /// Builds a request for a request to the API to retrieve messages. @@ -29,8 +29,8 @@ use std::collections::HashMap; /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box<Error>> { -/// use serenity::model::{ChannelId, MessageId}; /// use serenity::builder::GetMessages; +/// use serenity::model::id::{ChannelId, MessageId}; /// /// let retriever = GetMessages::default() /// .after(MessageId(158339864557912064)) |