aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAustin Hellyer <[email protected]>2017-02-05 15:37:09 -0800
committerAustin Hellyer <[email protected]>2017-02-05 15:37:09 -0800
commitc8c6b83ca685a3e503c853d4154a17761790954e (patch)
tree5053219bb650f72393047c5949e914e132908b0d /src
parentExpose and document ratelimiting (diff)
downloadserenity-c8c6b83ca685a3e503c853d4154a17761790954e.tar.xz
serenity-c8c6b83ca685a3e503c853d4154a17761790954e.zip
Standardize methods for creating messages
Diffstat (limited to 'src')
-rw-r--r--src/model/channel.rs24
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.