diff options
| author | Austin Hellyer <[email protected]> | 2017-02-05 15:37:09 -0800 |
|---|---|---|
| committer | Austin Hellyer <[email protected]> | 2017-02-05 15:37:09 -0800 |
| commit | c8c6b83ca685a3e503c853d4154a17761790954e (patch) | |
| tree | 5053219bb650f72393047c5949e914e132908b0d /src | |
| parent | Expose and document ratelimiting (diff) | |
| download | serenity-c8c6b83ca685a3e503c853d4154a17761790954e.tar.xz serenity-c8c6b83ca685a3e503c853d4154a17761790954e.zip | |
Standardize methods for creating messages
Diffstat (limited to 'src')
| -rw-r--r-- | src/model/channel.rs | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/model/channel.rs b/src/model/channel.rs index b57f466..d4c18b0 100644 --- a/src/model/channel.rs +++ b/src/model/channel.rs @@ -1105,8 +1105,7 @@ impl Group { /// [`Message`]: struct.Message.html /// [`Search`]: ../utils/builder/struct.Search.html #[inline] - pub fn search<F>(&self, f: F) -> Result<SearchResult> - where F: FnOnce(Search) -> Search { + pub fn search<F: FnOnce(Search) -> Search>(&self, f: F) -> Result<SearchResult> { self.channel_id.search(f) } @@ -1118,8 +1117,8 @@ impl Group { /// /// [Send Messages]: permissions/constant.SEND_MESSAGES.html #[inline] - pub fn send_message(&self, content: &str) -> Result<Message> { - self.channel_id.send_message(|m| m.content(content)) + pub fn send_message<F: FnOnce(CreateMessage) -> CreateMessage>(&self, f: F) -> Result<Message> { + self.channel_id.send_message(f) } /// Unpins a [`Message`] in the channel given by its Id. @@ -1764,12 +1763,9 @@ impl PrivateChannel { /// /// [`ClientError::MessageTooLong`]: ../client/enum.ClientError.html#variant.MessageTooLong /// [`Message`]: struct.Message.html - pub fn send_message(&self, content: &str) -> Result<Message> { - if let Some(length_over) = Message::overflow_length(content) { - return Err(Error::Client(ClientError::MessageTooLong(length_over))); - } - - self.id.send_message(|m| m.content(content)) + #[inline] + pub fn send_message<F: FnOnce(CreateMessage) -> CreateMessage>(&self, f: F) -> Result<Message> { + self.id.send_message(f) } /// Unpins a [`Message`] in the channel given by its Id. @@ -2191,11 +2187,7 @@ impl GuildChannel { /// [`ClientError::MessageTooLong`]: ../client/enum.ClientError.html#variant.MessageTooLong /// [`Message`]: struct.Message.html /// [Send Messages]: permissions/constant.SEND_MESSAGES.html - pub fn send_message(&self, content: &str) -> Result<Message> { - if let Some(length_over) = Message::overflow_length(content) { - return Err(Error::Client(ClientError::MessageTooLong(length_over))); - } - + pub fn send_message<F: FnOnce(CreateMessage) -> CreateMessage>(&self, f: F) -> Result<Message> { #[cfg(feature="cache")] { let req = permissions::SEND_MESSAGES; @@ -2205,7 +2197,7 @@ impl GuildChannel { } } - self.id.send_message(|m| m.content(content)) + self.id.send_message(f) } /// Unpins a [`Message`] in the channel given by its Id. |