Struct serenity::model::channel::GuildChannel [−][src]
#[non_exhaustive]pub struct GuildChannel {}Show fields
pub id: ChannelId, pub bitrate: Option<u64>, pub category_id: Option<ChannelId>, pub guild_id: GuildId, pub kind: ChannelType, pub last_message_id: Option<MessageId>, pub last_pin_timestamp: Option<DateTime<Utc>>, pub name: String, pub permission_overwrites: Vec<PermissionOverwrite>, pub position: i64, pub topic: Option<String>, pub user_limit: Option<u64>, pub nsfw: bool, pub slow_mode_rate: Option<u64>, pub rtc_region: Option<String>, pub video_quality_mode: Option<VideoQualityMode>,
Expand description
Represents a guild’s text, news, or voice channel. Some methods are available
only for voice channels and some are only available for text channels.
News channels are a subset of text channels and lack slow mode hence
Self::slow_mode_rate
will be None
.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct {{ .. }}
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.id: ChannelId
Expand description
The unique Id of the channel.
The default channel Id shares the Id of the guild and the default role.
bitrate: Option<u64>
Expand description
The bitrate of the channel.
Note: This is only available for voice and stage channels.
category_id: Option<ChannelId>
Expand description
Whether this guild channel belongs in a category.
guild_id: GuildId
Expand description
The Id of the guild the channel is located in.
If this matches with the id
, then this is the default text channel.
The original voice channel has an Id equal to the guild’s Id, incremented by one.
kind: ChannelType
Expand description
The type of the channel.
last_message_id: Option<MessageId>
Expand description
The Id of the last message sent in the channel.
Note: This is only available for text channels.
last_pin_timestamp: Option<DateTime<Utc>>
Expand description
The timestamp of the time a pin was most recently made.
Note: This is only available for text channels.
name: String
Expand description
The name of the channel.
permission_overwrites: Vec<PermissionOverwrite>
position: i64
Expand description
The position of the channel.
The default text channel will almost always have a position of -1
or
0
.
topic: Option<String>
Expand description
The topic of the channel.
Note: This is only available for text and stage channels.
user_limit: Option<u64>
Expand description
The maximum number of members allowed in the channel.
Note: This is only available for voice channels.
nsfw: bool
Expand description
Used to tell if the channel is not safe for work.
Note however, it’s recommended to use Self::is_nsfw
as it’s gonna be more accurate.
slow_mode_rate: Option<u64>
Expand description
A rate limit that applies per user and excludes bots.
Note: This is only available for text channels excluding news channels.
rtc_region: Option<String>
Expand description
The region override.
Note: This is only available for voice and stage channels. None
for voice and stage channels means automatic region selection.
video_quality_mode: Option<VideoQualityMode>
Expand description
The video quality mode for a voice channel.
Implementations
impl GuildChannel
[src]
impl GuildChannel
[src]pub fn is_text_based(&self) -> bool
[src]
pub fn is_text_based(&self) -> bool
[src]Whether or not this channel is text-based, meaning that it is possible to send messages.
pub async fn broadcast_typing(&self, http: impl AsRef<Http>) -> Result<()>
[src]
pub async fn broadcast_typing(&self, http: impl AsRef<Http>) -> Result<()>
[src]Broadcasts to the channel that the current user is typing.
For bots, this is a good indicator for long-running commands.
Note: Requires the Send Messages permission.
Errors
Returns Error::Http
if the current user does
not have the required permissions.
pub async fn create_invite<F>(
&self,
cache_http: impl CacheHttp,
f: F
) -> Result<RichInvite> where
F: FnOnce(&mut CreateInvite) -> &mut CreateInvite,
[src]
pub async fn create_invite<F>(
&self,
cache_http: impl CacheHttp,
f: F
) -> Result<RichInvite> where
F: FnOnce(&mut CreateInvite) -> &mut CreateInvite,
[src]Creates an invite leading to the given channel.
Note: Requres the [Create Invite] permission.
Examples
Create an invite that can only be used 5 times:
let invite = channel.create_invite(&context, |i| i.max_uses(5)).await;
Errors
If the cache
is enabled, returns ModelError::InvalidPermissions
if the current user does not have permission to create invites.
Otherwise returns Error::Http
if the current user lacks permission.
pub async fn create_permission(
&self,
http: impl AsRef<Http>,
target: &PermissionOverwrite
) -> Result<()>
[src]
pub async fn create_permission(
&self,
http: impl AsRef<Http>,
target: &PermissionOverwrite
) -> Result<()>
[src]Creates a permission overwrite for either a
single Member
or Role
within a Channel
.
Refer to the documentation for PermissionOverwrite
s for more
information.
Requires the Manage Channels permission.
Examples
Creating a permission overwrite for a member by specifying the
PermissionOverwriteType::Member
variant, allowing it the Send Messages
permission, but denying the Send TTS Messages and Attach Files
permissions:
use serenity::model::channel::{ PermissionOverwrite, PermissionOverwriteType, }; use serenity::model::{ModelError, Permissions}; let allow = Permissions::SEND_MESSAGES; let deny = Permissions::SEND_TTS_MESSAGES | Permissions::ATTACH_FILES; let overwrite = PermissionOverwrite { allow: allow, deny: deny, kind: PermissionOverwriteType::Member(user_id), }; // assuming the cache has been unlocked let channel = cache .guild_channel(channel_id) .await .ok_or(ModelError::ItemMissing)?; channel.create_permission(&http, &overwrite).await?;
Creating a permission overwrite for a role by specifying the
PermissionOverwriteType::Role
variant, allowing it the Manage Webhooks
permission, but denying the Send TTS Messages and Attach Files
permissions:
use serenity::model::channel::{ PermissionOverwrite, PermissionOverwriteType, }; use serenity::model::{ModelError, Permissions, channel::Channel}; let allow = Permissions::SEND_MESSAGES; let deny = Permissions::SEND_TTS_MESSAGES | Permissions::ATTACH_FILES; let overwrite = PermissionOverwrite { allow: allow, deny: deny, kind: PermissionOverwriteType::Member(user_id), }; let channel = cache .guild_channel(channel_id) .await .ok_or(ModelError::ItemMissing)?; channel.create_permission(&http, &overwrite).await?;
Errors
Returns Error::Http
if the current user lacks permission.
pub async fn delete(&self, cache_http: impl CacheHttp) -> Result<Channel>
[src]
pub async fn delete(&self, cache_http: impl CacheHttp) -> Result<Channel>
[src]Deletes this channel, returning the channel on a successful deletion.
Note: Requres the Manage Channels permission.
Errors
If the cache
is enabled, returns ModelError::InvalidPermissions
if the current user does not have permission.
Otherwise returns Error::Http
if the current user lacks permission.
pub async fn delete_messages<T, It>(
&self,
http: impl AsRef<Http>,
message_ids: It
) -> Result<()> where
T: AsRef<MessageId>,
It: IntoIterator<Item = T>,
[src]
pub async fn delete_messages<T, It>(
&self,
http: impl AsRef<Http>,
message_ids: It
) -> Result<()> where
T: AsRef<MessageId>,
It: IntoIterator<Item = T>,
[src]Deletes all messages by Ids from the given vector in the channel.
The minimum amount of messages is 2 and the maximum amount is 100.
Requires the Manage Messages permission.
Note: Messages that are older than 2 weeks can’t be deleted using this method.
Errors
Returns ModelError::BulkDeleteAmount
if an attempt was made to
delete either 0 or more than 100 messages.
pub async fn delete_permission(
&self,
http: impl AsRef<Http>,
permission_type: PermissionOverwriteType
) -> Result<()>
[src]
pub async fn delete_permission(
&self,
http: impl AsRef<Http>,
permission_type: PermissionOverwriteType
) -> Result<()>
[src]Deletes all permission overrides in the channel from a member or role.
Note: Requires the Manage Channel permission.
Errors
Returns Error::Http
if the current user lacks permission.
pub async fn delete_reaction(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>,
user_id: Option<UserId>,
reaction_type: impl Into<ReactionType>
) -> Result<()>
[src]
pub async fn delete_reaction(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>,
user_id: Option<UserId>,
reaction_type: impl Into<ReactionType>
) -> Result<()>
[src]Deletes the given Reaction
from the channel.
Note: Requires the [Manage Messages] permission, if the current user did not perform the reaction.
Errors
Returns Error::Http
if the current user lacks permission.
[Manage Messages]: Permissions::MANAGE_MESSAGES
pub async fn edit<F>(&mut self, cache_http: impl CacheHttp, f: F) -> Result<()> where
F: FnOnce(&mut EditChannel) -> &mut EditChannel,
[src]
pub async fn edit<F>(&mut self, cache_http: impl CacheHttp, f: F) -> Result<()> where
F: FnOnce(&mut EditChannel) -> &mut EditChannel,
[src]Modifies a channel’s settings, such as its position or name.
Refer to EditChannel
s documentation for a full list of methods.
Examples
Change a voice channels name and bitrate:
channel.edit(&context, |c| c.name("test").bitrate(86400)).await;
Errors
If the cache
is enabled, returns ModelError::InvalidPermissions
if the current user lacks permission to edit the channel.
Otherwise returns Error::Http
if the current user lacks permission.
pub async fn edit_message<F>(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>,
f: F
) -> Result<Message> where
F: FnOnce(&mut EditMessage) -> &mut EditMessage,
[src]
pub async fn edit_message<F>(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>,
f: F
) -> Result<Message> where
F: FnOnce(&mut EditMessage) -> &mut EditMessage,
[src]Edits a Message
in the channel given its Id.
Message editing preserves all unchanged message data.
Refer to the documentation for EditMessage
for more information
regarding message restrictions and requirements.
Note: Requires that the current user be the author of the message.
Errors
Returns a ModelError::MessageTooLong
if the content of the message
is over the the limit
, containing the number of unicode code points
over the limit.
pub async fn edit_voice_state<F>(
&self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
f: F
) -> Result<()> where
F: FnOnce(&mut EditVoiceState) -> &mut EditVoiceState,
[src]
pub async fn edit_voice_state<F>(
&self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
f: F
) -> Result<()> where
F: FnOnce(&mut EditVoiceState) -> &mut EditVoiceState,
[src]Edits a voice state in a stage channel. Pass None
for user_id
to
edit the current user’s voice state.
Requires the Mute Members permission to suppress another user or unsuppress the current user. This is not required if suppressing the current user.
Requires the Request to Speak permission.
Example
Invite a user to speak.
use serenity::model::ModelError; // assuming the cache has been unlocked let channel = cache.guild_channel(channel_id).await.ok_or(ModelError::ItemMissing)?; channel.edit_voice_state(&http, user_id, |v| v.suppress(false)).await?;
Errors
Returns a ModelError::InvalidChannelType
if the channel type is not
stage.
pub async fn edit_own_voice_state<F>(
&self,
http: impl AsRef<Http>,
f: F
) -> Result<()> where
F: FnOnce(&mut EditVoiceState) -> &mut EditVoiceState,
[src]
pub async fn edit_own_voice_state<F>(
&self,
http: impl AsRef<Http>,
f: F
) -> Result<()> where
F: FnOnce(&mut EditVoiceState) -> &mut EditVoiceState,
[src]Edits the current user’s voice state in a stage channel.
The Mute Members permission is not required if suppressing the current user.
Requires the Request to Speak permission.
Example
Send a request to speak, then clear the request.
use serenity::model::ModelError; // assuming the cache has been unlocked let channel = cache.guild_channel(channel_id).await.ok_or(ModelError::ItemMissing)?; // Send a request to speak channel.edit_own_voice_state(&http, |v| v.request_to_speak(true)).await?; // Clear own request to speak channel.edit_own_voice_state(&http, |v| v.request_to_speak(false)).await?;
Errors
Returns a ModelError::InvalidChannelType
if the channel type is not
stage.
pub async fn guild(&self, cache: impl AsRef<Cache>) -> Option<Guild>
[src]
pub async fn guild(&self, cache: impl AsRef<Cache>) -> Option<Guild>
[src]Attempts to find this channel’s guild in the Cache.
pub async fn invites(&self, http: impl AsRef<Http>) -> Result<Vec<RichInvite>>
[src]
pub async fn invites(&self, http: impl AsRef<Http>) -> Result<Vec<RichInvite>>
[src]Gets all of the channel’s invites.
Requires the Manage Channels permission.
Errors
Returns Error::Http
if the current user lacks permission.
pub fn is_nsfw(&self) -> bool
[src]
pub fn is_nsfw(&self) -> bool
[src]Determines if the channel is NSFW.
Only text channels are taken into consideration as being NSFW. voice channels are never NSFW.
pub async fn message(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>
) -> Result<Message>
[src]
pub async fn message(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>
) -> Result<Message>
[src]Gets a message from the channel.
Requires the Read Message History permission.
Errors
Returns Error::Http
if the current user lacks permission,
or if a message with the given Id does not exist in the channel.
pub async fn messages<F>(
&self,
http: impl AsRef<Http>,
builder: F
) -> Result<Vec<Message>> where
F: FnOnce(&mut GetMessages) -> &mut GetMessages,
[src]
pub async fn messages<F>(
&self,
http: impl AsRef<Http>,
builder: F
) -> Result<Vec<Message>> where
F: FnOnce(&mut GetMessages) -> &mut GetMessages,
[src]Gets messages from the channel.
Refer to the GetMessages
-builder for more information on how to
use builder
.
Note: Returns an empty Vec
if the current user does not have the
Read Message History permission.
Errors
Returns Error::Http
if the current user lacks permission to
view the channel.
pub async fn permissions_for_user(
&self,
cache: impl AsRef<Cache>,
user_id: impl Into<UserId>
) -> Result<Permissions>
[src]
pub async fn permissions_for_user(
&self,
cache: impl AsRef<Cache>,
user_id: impl Into<UserId>
) -> Result<Permissions>
[src]Calculates the permissions of a member.
The Id of the argument must be a Member
of the Guild
that the
channel is in.
Examples
Calculate the permissions of a User
who posted a Message
in a
channel:
use serenity::prelude::*; use serenity::model::prelude::*; struct Handler; #[serenity::async_trait] impl EventHandler for Handler { async fn message(&self, context: Context, msg: Message) { let channel = match context.cache.guild_channel(msg.channel_id).await { Some(channel) => channel, None => return, }; if let Ok(permissions) = channel.permissions_for_user(&context.cache, &msg.author).await { println!("The user's permissions: {:?}", permissions); } } } let mut client =Client::builder("token").event_handler(Handler).await?; client.start().await?;
Check if the current user has the Attach Files and Send Messages permissions (note: serenity will automatically check this for; this is for demonstrative purposes):
use serenity::prelude::*; use serenity::model::prelude::*; use serenity::model::channel::Channel; use tokio::fs::File; struct Handler; #[serenity::async_trait] impl EventHandler for Handler { async fn message(&self, context: Context, mut msg: Message) { let channel = match context.cache.guild_channel(msg.channel_id).await { Some(channel) => channel, None => return, }; let current_user_id = context.cache.current_user().await.id; if let Ok(permissions) = channel.permissions_for_user(&context.cache, current_user_id).await { if !permissions.contains(Permissions::ATTACH_FILES | Permissions::SEND_MESSAGES) { return; } let file = match File::open("./cat.png").await { Ok(file) => file, Err(why) => { println!("Err opening file: {:?}", why); return; }, }; let _ = msg.channel_id.send_files(&context.http, vec![(&file, "cat.png")], |mut m| { m.content("here's a cat"); m }) .await; } } } let mut client =Client::builder("token").event_handler(Handler).await?; client.start().await?;
Errors
Returns a ModelError::GuildNotFound
if the channel’s guild could
not be found in the Cache
.
pub async fn permissions_for_role(
&self,
cache: impl AsRef<Cache>,
role_id: impl Into<RoleId>
) -> Result<Permissions>
[src]
pub async fn permissions_for_role(
&self,
cache: impl AsRef<Cache>,
role_id: impl Into<RoleId>
) -> Result<Permissions>
[src]Calculates the permissions of a role.
The Id of the argument must be a Role
of the Guild
that the
channel is in.
Errors
Returns a ModelError::GuildNotFound
if the channel’s guild could
not be found in the Cache
.
Returns a ModelError::RoleNotFound
if the given role could not
be found in the Cache
.
pub async fn pin(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>
) -> Result<()>
[src]
pub async fn pin(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>
) -> Result<()>
[src]Pins a Message
to the channel.
Note: Requires the Manage Messages permission.
Errors
Returns Error::Http
if the current user lacks permission,
or if the channel already has too many pinned messages.
pub async fn pins(&self, http: impl AsRef<Http>) -> Result<Vec<Message>>
[src]
pub async fn pins(&self, http: impl AsRef<Http>) -> Result<Vec<Message>>
[src]Gets all channel’s pins.
Note: If the current user lacks the Read Message History permission
an empty Vec
will be returned.
Errors
Returns Error::Http
if the current user lacks permission to view the channel.
pub async fn reaction_users(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>,
reaction_type: impl Into<ReactionType>,
limit: Option<u8>,
after: impl Into<Option<UserId>>
) -> Result<Vec<User>>
[src]
pub async fn reaction_users(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>,
reaction_type: impl Into<ReactionType>,
limit: Option<u8>,
after: impl Into<Option<UserId>>
) -> Result<Vec<User>>
[src]Gets the list of User
s who have reacted to a Message
with a
certain Emoji
.
The default limit
is 50
- specify otherwise to receive a different
maximum number of users. The maximum that may be retrieve at a time is
100
, if a greater number is provided then it is automatically reduced.
The optional after
attribute is to retrieve the users after a certain
user. This is useful for pagination.
Note: Requires the Read Message History permission.
Errors
Returns Error::Http
if the current user lacks permission.
pub async fn say(
&self,
http: impl AsRef<Http>,
content: impl Display
) -> Result<Message>
[src]
pub async fn say(
&self,
http: impl AsRef<Http>,
content: impl Display
) -> Result<Message>
[src]Sends a message with just the given message content in the channel.
Errors
Returns a ModelError::MessageTooLong
if the content of the message
is over the above limit, containing the number of unicode code points
over the limit.
May also return Error::Http
if the current user lacks permission
to send a message to the channel.
pub async fn send_files<'a, F, T, It>(
&self,
http: impl AsRef<Http>,
files: It,
f: F
) -> Result<Message> where
F: FnOnce(&'b mut CreateMessage<'a>) -> &'b mut CreateMessage<'a>,
T: Into<AttachmentType<'a>>,
It: IntoIterator<Item = T>,
[src]
pub async fn send_files<'a, F, T, It>(
&self,
http: impl AsRef<Http>,
files: It,
f: F
) -> Result<Message> where
F: FnOnce(&'b mut CreateMessage<'a>) -> &'b mut CreateMessage<'a>,
T: Into<AttachmentType<'a>>,
It: IntoIterator<Item = T>,
[src]Sends (a) file(s) along with optional message contents.
Refer to ChannelId::send_files
for examples and more information.
The Attach Files and Send Messages permissions are required.
Note: Message contents must be under 2000 unicode code points.
Errors
If the content of the message is over the above limit, then a
ModelError::MessageTooLong
will be returned, containing the number
of unicode code points over the limit.
pub async fn send_message<'a, F>(
&self,
cache_http: impl CacheHttp,
f: F
) -> Result<Message> where
F: FnOnce(&'b mut CreateMessage<'a>) -> &'b mut CreateMessage<'a>,
[src]
pub async fn send_message<'a, F>(
&self,
cache_http: impl CacheHttp,
f: F
) -> Result<Message> where
F: FnOnce(&'b mut CreateMessage<'a>) -> &'b mut CreateMessage<'a>,
[src]Sends a message to the channel with the given content.
Note: This will only work when a Message
is received.
Note: Requires the Send Messages permission.
Errors
Returns a ModelError::MessageTooLong
if the content of the message
is over the above limit, containing the number of unicode code points
over the limit.
If the cache
is enabled, returns a ModelError::InvalidPermissions
if the current user does
not have the required permissions.
Otherwise will return Error::Http
if the current user lacks permission.
pub fn start_typing(self, http: &Arc<Http>) -> Result<Typing>
[src]
pub fn start_typing(self, http: &Arc<Http>) -> Result<Typing>
[src]Starts typing in the channel for an indefinite period of time.
Returns Typing
that is used to trigger the typing. Typing::stop
must be called
on the returned struct to stop typing. Note that on some clients, typing may persist
for a few seconds after Typing::stop
is called.
Typing is also stopped when the struct is dropped.
If a message is sent while typing is triggered, the user will stop typing for a brief period
of time and then resume again until either Typing::stop
is called or the struct is dropped.
This should rarely be used for bots, although it is a good indicator that a long-running command is still being processed.
Examples
// Initiate typing (assuming http is `Arc<Http>` and `channel` is bound) let typing = channel.start_typing(&http)?; // Run some long-running process long_process(); // Stop typing typing.stop();
pub async fn unpin(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>
) -> Result<()>
[src]
pub async fn unpin(
&self,
http: impl AsRef<Http>,
message_id: impl Into<MessageId>
) -> Result<()>
[src]Unpins a Message
in the channel given by its Id.
Requires the Manage Messages permission.
Errors
Returns Error::Http
if the current user lacks permission.
pub async fn webhooks(&self, http: impl AsRef<Http>) -> Result<Vec<Webhook>>
[src]
pub async fn webhooks(&self, http: impl AsRef<Http>) -> Result<Vec<Webhook>>
[src]Retrieves the channel’s webhooks.
Note: Requires the Manage Webhooks permission.
Errors
Returns Error::Http
if the current user lacks permission.
pub async fn members(&self, cache: impl AsRef<Cache>) -> Result<Vec<Member>>
[src]
pub async fn members(&self, cache: impl AsRef<Cache>) -> Result<Vec<Member>>
[src]Retrieves Member
s from the current channel.
ChannelType::Voice
and ChannelType::Stage
returns Member
s
using the channel.
ChannelType::Text
and ChannelType::News
return Member
s that
can read the channel.
Errors
Other ChannelType
s lack the concept of Member
s and
will return: ModelError::InvalidChannelType
.
pub fn await_reply<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> CollectReply<'a>ⓘNotable traits for CollectReply<'a>
impl<'a> Future for CollectReply<'a> type Output = Option<Arc<Message>>;
[src]
This is supported on crate feature collector
only.
pub fn await_reply<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> CollectReply<'a>ⓘNotable traits for CollectReply<'a>
impl<'a> Future for CollectReply<'a> type Output = Option<Arc<Message>>;
[src]collector
only.Returns a future that will await one message by this guild.
pub fn await_replies<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> MessageCollectorBuilder<'a>ⓘNotable traits for MessageCollectorBuilder<'a>
impl<'a> Future for MessageCollectorBuilder<'a> type Output = MessageCollector;
[src]
This is supported on crate feature collector
only.
pub fn await_replies<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> MessageCollectorBuilder<'a>ⓘNotable traits for MessageCollectorBuilder<'a>
impl<'a> Future for MessageCollectorBuilder<'a> type Output = MessageCollector;
[src]collector
only.Returns a stream builder which can be awaited to obtain a stream of messages sent by this guild.
pub fn await_reaction<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> CollectReaction<'a>ⓘNotable traits for CollectReaction<'a>
impl<'a> Future for CollectReaction<'a> type Output = Option<Arc<ReactionAction>>;
[src]
This is supported on crate feature collector
only.
pub fn await_reaction<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> CollectReaction<'a>ⓘNotable traits for CollectReaction<'a>
impl<'a> Future for CollectReaction<'a> type Output = Option<Arc<ReactionAction>>;
[src]collector
only.Await a single reaction by this guild.
pub fn await_reactions<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> ReactionCollectorBuilder<'a>ⓘNotable traits for ReactionCollectorBuilder<'a>
impl<'a> Future for ReactionCollectorBuilder<'a> type Output = ReactionCollector;
[src]
This is supported on crate feature collector
only.
pub fn await_reactions<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> ReactionCollectorBuilder<'a>ⓘNotable traits for ReactionCollectorBuilder<'a>
impl<'a> Future for ReactionCollectorBuilder<'a> type Output = ReactionCollector;
[src]collector
only.Returns a stream builder which can be awaited to obtain a stream of reactions sent by this guild.
pub async fn create_webhook(
&self,
http: impl AsRef<Http>,
name: impl Display
) -> Result<Webhook>
[src]
pub async fn create_webhook(
&self,
http: impl AsRef<Http>,
name: impl Display
) -> Result<Webhook>
[src]Creates a webhook with only a name.
Errors
Returns a ModelError::NameTooShort
if the name of the webhook is
under the limit of 2 characters.
Returns a ModelError::NameTooLong
if the name of the webhook is
over the limit of 100 characters.
Returns a ModelError::InvalidChannelType
if the channel type is not text.
pub async fn create_webhook_with_avatar<'a>(
&self,
http: impl AsRef<Http>,
name: impl Display,
avatar: impl Into<AttachmentType<'a>>
) -> Result<Webhook>
[src]
pub async fn create_webhook_with_avatar<'a>(
&self,
http: impl AsRef<Http>,
name: impl Display,
avatar: impl Into<AttachmentType<'a>>
) -> Result<Webhook>
[src]Creates a webhook with a name and an avatar.
Errors
In addition to the reasons Self::create_webhook
may return an Error::Http
,
if the image is too large.
Trait Implementations
impl Clone for GuildChannel
[src]
impl Clone for GuildChannel
[src]fn clone(&self) -> GuildChannel
[src]
fn clone(&self) -> GuildChannel
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for GuildChannel
[src]
impl Debug for GuildChannel
[src]impl<'de> Deserialize<'de> for GuildChannel
[src]
impl<'de> Deserialize<'de> for GuildChannel
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl Display for GuildChannel
[src]
impl Display for GuildChannel
[src]impl From<&'_ GuildChannel> for Mention
[src]
impl From<&'_ GuildChannel> for Mention
[src]fn from(value: &GuildChannel) -> Self
[src]
fn from(value: &GuildChannel) -> Self
[src]Performs the conversion.
impl<'a> From<&'a GuildChannel> for ChannelId
[src]
impl<'a> From<&'a GuildChannel> for ChannelId
[src]fn from(public_channel: &GuildChannel) -> ChannelId
[src]
fn from(public_channel: &GuildChannel) -> ChannelId
[src]Gets the Id of a guild channel.
impl From<GuildChannel> for ChannelId
[src]
impl From<GuildChannel> for ChannelId
[src]fn from(public_channel: GuildChannel) -> ChannelId
[src]
fn from(public_channel: GuildChannel) -> ChannelId
[src]Gets the Id of a guild channel.
impl Mentionable for GuildChannel
[src]
impl Mentionable for GuildChannel
[src]impl Serialize for GuildChannel
[src]
impl Serialize for GuildChannel
[src]Auto Trait Implementations
impl RefUnwindSafe for GuildChannel
impl Send for GuildChannel
impl Sync for GuildChannel
impl Unpin for GuildChannel
impl UnwindSafe for GuildChannel
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,