aboutsummaryrefslogtreecommitdiff
path: root/src/builder
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2017-12-16 08:39:36 -0800
committerZeyla Hellyer <[email protected]>2017-12-16 08:45:26 -0800
commitbcd16dddb8cc3086a13524c79676f3a8bebbc524 (patch)
tree42d254fb4738df957c4b7d9e5766d1cb5bd47323 /src/builder
parentFix guild deserialization tests (diff)
downloadserenity-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.rs15
-rw-r--r--src/builder/create_invite.rs10
-rw-r--r--src/builder/create_message.rs4
-rw-r--r--src/builder/edit_guild.rs10
-rw-r--r--src/builder/edit_member.rs2
-rw-r--r--src/builder/edit_profile.rs2
-rw-r--r--src/builder/edit_role.rs5
-rw-r--r--src/builder/execute_webhook.rs2
-rw-r--r--src/builder/get_messages.rs4
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))