pub struct EditChannel<'a> { /* private fields */ }
Expand description
A builder to edit a GuildChannel
for use via GuildChannel::edit
.
§Examples
Edit a channel, providing a new name and topic:
let builder = EditChannel::new().name("new name").topic("a test topic");
if let Err(why) = channel.edit(&http, builder).await {
// properly handle the error
}
Implementations§
Source§impl<'a> EditChannel<'a>
impl<'a> EditChannel<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
Equivalent to Self::default
.
Sourcepub fn bitrate(self, bitrate: u32) -> Self
pub fn bitrate(self, bitrate: u32) -> Self
The bitrate of the channel in bits.
This is for voice channels only.
Sourcepub fn video_quality_mode(self, quality: VideoQualityMode) -> Self
pub fn video_quality_mode(self, quality: VideoQualityMode) -> Self
The camera video quality mode of the channel.
This is for voice channels only.
Sourcepub fn voice_region(self, id: Option<String>) -> Self
pub fn voice_region(self, id: Option<String>) -> Self
The voice region of the channel. It is automatic when None
.
This is for voice channels only.
Sourcepub fn name(self, name: impl Into<String>) -> Self
pub fn name(self, name: impl Into<String>) -> Self
The name of the channel.
Must be between 2 and 100 characters long.
Sourcepub fn topic(self, topic: impl Into<String>) -> Self
pub fn topic(self, topic: impl Into<String>) -> Self
The topic of the channel. Can be empty.
Must be between 0 and 1024 characters long.
This is for text channels only.
Sourcepub fn status(self, status: impl Into<String>) -> Self
pub fn status(self, status: impl Into<String>) -> Self
The status of the voice channel. Can be empty.
Must be between 0 and 1024 characters long.
This is for voice channels only.
Sourcepub fn nsfw(self, nsfw: bool) -> Self
pub fn nsfw(self, nsfw: bool) -> Self
Is the channel inappropriate for work?
This is for text channels only.
Sourcepub fn user_limit(self, user_limit: u32) -> Self
pub fn user_limit(self, user_limit: u32) -> Self
The number of users that may be in the channel simultaneously.
This is for voice channels only.
Sourcepub fn rate_limit_per_user(self, seconds: u16) -> Self
pub fn rate_limit_per_user(self, seconds: u16) -> Self
How many seconds must a user wait before sending another message.
Bots, or users with the MANAGE_MESSAGES
and/or MANAGE_CHANNELS
permissions are
exempt from this restriction.
Note: Must be between 0 and 21600 seconds (360 minutes or 6 hours).
Sourcepub fn permissions(
self,
perms: impl IntoIterator<Item = PermissionOverwrite>,
) -> Self
pub fn permissions( self, perms: impl IntoIterator<Item = PermissionOverwrite>, ) -> Self
A set of overwrites defining what a user or a user carrying a certain role can or can’t do.
§Example
Inheriting permissions from an existing channel:
use serenity::model::channel::{PermissionOverwrite, PermissionOverwriteType};
use serenity::model::id::UserId;
use serenity::model::permissions::Permissions;
// Assuming a channel has already been bound.
let permissions = vec![PermissionOverwrite {
allow: Permissions::VIEW_CHANNEL,
deny: Permissions::SEND_TTS_MESSAGES,
kind: PermissionOverwriteType::Member(UserId::new(1234)),
}];
let builder = EditChannel::new().name("my_edited_cool_channel").permissions(permissions);
channel.edit(http, builder).await?;
If this is a forum channel, sets the tags that can be assigned to forum posts.
Sourcepub fn audit_log_reason(self, reason: &'a str) -> Self
pub fn audit_log_reason(self, reason: &'a str) -> Self
Sets the request’s audit log reason.
Sourcepub fn kind(self, kind: ChannelType) -> Self
pub fn kind(self, kind: ChannelType) -> Self
The type of channel; only conversion between text and announcement is supported and only in guilds with the “NEWS” feature
Sourcepub fn default_auto_archive_duration(
self,
default_auto_archive_duration: AutoArchiveDuration,
) -> Self
pub fn default_auto_archive_duration( self, default_auto_archive_duration: AutoArchiveDuration, ) -> Self
The default duration that the clients use (not the API) for newly created threads in the channel, in minutes, to automatically archive the thread after recent activity
Sourcepub fn flags(self, flags: ChannelFlags) -> Self
pub fn flags(self, flags: ChannelFlags) -> Self
Channel flags combined as a bitfield. Currently only ChannelFlags::REQUIRE_TAG
is
supported.
Sourcepub fn default_reaction_emoji(
self,
default_reaction_emoji: Option<ForumEmoji>,
) -> Self
pub fn default_reaction_emoji( self, default_reaction_emoji: Option<ForumEmoji>, ) -> Self
The emoji to show in the add reaction button on a thread in a forum channel
Sourcepub fn default_thread_rate_limit_per_user(
self,
default_thread_rate_limit_per_user: u16,
) -> Self
pub fn default_thread_rate_limit_per_user( self, default_thread_rate_limit_per_user: u16, ) -> Self
The initial rate_limit_per_user to set on newly created threads in a channel. This field is copied to the thread at creation time and does not live update.
Sourcepub fn default_sort_order(self, default_sort_order: SortOrder) -> Self
pub fn default_sort_order(self, default_sort_order: SortOrder) -> Self
The default sort order type used to order posts in forum channels
Sourcepub fn default_forum_layout(self, default_forum_layout: ForumLayoutType) -> Self
pub fn default_forum_layout(self, default_forum_layout: ForumLayoutType) -> Self
The default forum layout type used to display posts in forum channels
Trait Implementations§
Source§impl Builder for EditChannel<'_>
impl Builder for EditChannel<'_>
Source§fn execute<'life0, 'async_trait>(
self,
cache_http: impl 'async_trait + CacheHttp,
ctx: Self::Context<'life0>,
) -> Pin<Box<dyn Future<Output = Result<Self::Built>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
self,
cache_http: impl 'async_trait + CacheHttp,
ctx: Self::Context<'life0>,
) -> Pin<Box<dyn Future<Output = Result<Self::Built>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Edits the channel’s settings.
Note: Requires the Manage Channels permission. Modifying permissions via
Self::permissions
also requires the Manage Roles permission.
§Errors
If the cache
is enabled, returns a ModelError::InvalidPermissions
if the current user
lacks permission. Otherwise returns Error::Http
, as well as if invalid data is given.
Source§type Context<'ctx> = ChannelId
type Context<'ctx> = ChannelId
type Built = GuildChannel
Source§impl<'a> Clone for EditChannel<'a>
impl<'a> Clone for EditChannel<'a>
Source§fn clone(&self) -> EditChannel<'a>
fn clone(&self) -> EditChannel<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more