Struct EditGuild

Source
pub struct EditGuild<'a> { /* private fields */ }
Expand description

A builder to optionally edit certain fields of a guild

Discord docs.

Implementations§

Source§

impl<'a> EditGuild<'a>

Source

pub fn new() -> Self

Equivalent to Self::default.

Source

pub fn afk_channel(self, channel: Option<ChannelId>) -> Self

Set the “AFK voice channel” that users are to move to if they have been AFK for an amount of time, configurable by Self::afk_timeout. Pass None to unset the current value.

Source

pub fn afk_timeout(self, timeout: AfkTimeout) -> Self

Set the amount of time a user is to be moved to the AFK channel - configured via Self::afk_channel - after being AFK.

Source

pub fn icon(self, icon: Option<&CreateAttachment>) -> Self

Set the icon of the guild. Pass None to remove the icon.

§Examples

Using the utility builder - CreateAttachment - to read an image and encode it in base64, to then set as the guild icon.

let icon = CreateAttachment::path("./guild_icon.png").await?;

// assuming a `guild` has already been bound
let builder = EditGuild::new().icon(Some(&icon));
guild.edit(&http, builder).await?;
Source

pub fn delete_icon(self) -> Self

Clear the current guild icon, resetting it to the default logo.

Source

pub fn name(self, name: impl Into<String>) -> Self

Set the name of the guild.

Note: Must be between (and including) 2-100 characters.

Source

pub fn description(self, name: impl Into<String>) -> Self

Set the description of the guild.

Note: Requires that the guild have the DISCOVERABLE feature enabled. You can check this through a guild’s features list.

Source

pub fn features(self, features: Vec<String>) -> Self

Set the features of the guild.

Note: Requires that the guild have the DISCOVERABLE feature enabled. You can check this through a guild’s features list.

Source

pub fn owner(self, user_id: impl Into<UserId>) -> Self

Transfers the ownership of the guild to another user by Id.

Note: The current user must be the owner of the guild.

Source

pub fn splash(self, splash: Option<String>) -> Self

Set the splash image of the guild on the invitation page.

The splash must be base64-encoded 1024x1024 png/jpeg/gif image-data.

Requires that the guild have the INVITE_SPLASH feature enabled. You can check this through a guild’s features list.

Source

pub fn discovery_splash(self, splash: Option<String>) -> Self

Set the splash image of the guild on the discovery page.

The splash must be base64-encoded 1024x1024 png/jpeg/gif image-data.

Requires that the guild have the DISCOVERABLE feature enabled. You can check this through a guild’s features list.

Source

pub fn banner(self, banner: Option<String>) -> Self

Set the banner image of the guild, it appears on the left side-bar.

The banner must be base64-encoded 16:9 png/jpeg image data.

Requires that the guild have the BANNER feature enabled. You can check this through a guild’s features list.

Source

pub fn system_channel_id(self, channel_id: Option<ChannelId>) -> Self

Set the channel ID where welcome messages and boost events will be posted.

Source

pub fn rules_channel_id(self, channel_id: Option<ChannelId>) -> Self

Set the channel ID of the rules and guidelines channel.

Note: This feature is for Community guilds only.

Source

pub fn public_updates_channel_id(self, channel_id: Option<ChannelId>) -> Self

Set the channel ID where admins and moderators receive update messages from Discord.

Note: This feature is for Community guilds only.

Source

pub fn preferred_locale(self, locale: Option<String>) -> Self

Set the preferred locale used in Server Discovery and update messages from Discord.

If this is not set, the locale will default to “en-US”;

Note: This feature is for Community guilds only.

Source

pub fn explicit_content_filter( self, level: Option<ExplicitContentFilter>, ) -> Self

Set the content filter level.

Source

pub fn default_message_notifications( self, level: Option<DefaultMessageNotificationLevel>, ) -> Self

Set the default message notification level.

Source

pub fn verification_level( self, verification_level: impl Into<VerificationLevel>, ) -> Self

Set the verification level of the guild. This can restrict what a user must have prior to being able to send messages in a guild.

Refer to the documentation for VerificationLevel for more information on each variant.

§Examples

Setting the verification level to High:

use serenity::model::guild::VerificationLevel;

let builder = EditGuild::new().verification_level(VerificationLevel::High);

// assuming a `guild` has already been bound
let edit = guild.edit(&http, builder).await;
if let Err(why) = edit {
    println!("Error setting verification level: {:?}", why);
}
Source

pub fn system_channel_flags( self, system_channel_flags: SystemChannelFlags, ) -> Self

Modifies the notifications that are sent by discord to the configured system channel.

use serenity::model::guild::SystemChannelFlags;

let builder = EditGuild::new().system_channel_flags(
    SystemChannelFlags::SUPPRESS_JOIN_NOTIFICATIONS
        | SystemChannelFlags::SUPPRESS_GUILD_REMINDER_NOTIFICATIONS,
);

// assuming a `guild` has already been bound
let edit = guild.edit(&http, builder).await;
if let Err(why) = edit {
    println!("Error setting system channel flags: {:?}", why);
}
Source

pub fn audit_log_reason(self, reason: &'a str) -> Self

Sets the request’s audit log reason.

Source

pub fn premium_progress_bar_enabled( self, premium_progress_bar_enabled: bool, ) -> Self

Whether the guild’s boost progress bar should be enabled

Trait Implementations§

Source§

impl Builder for EditGuild<'_>

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,

Edits the given guild.

Note: Requires the Manage Guild 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> = GuildId

Additional data that’s only required when sending a request off to the API.
Source§

type Built = PartialGuild

Source§

impl<'a> Clone for EditGuild<'a>

Source§

fn clone(&self) -> EditGuild<'a>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for EditGuild<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Default for EditGuild<'a>

Source§

fn default() -> EditGuild<'a>

Returns the “default value” for a type. Read more
Source§

impl<'a> Serialize for EditGuild<'a>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for EditGuild<'a>

§

impl<'a> RefUnwindSafe for EditGuild<'a>

§

impl<'a> Send for EditGuild<'a>

§

impl<'a> Sync for EditGuild<'a>

§

impl<'a> Unpin for EditGuild<'a>

§

impl<'a> UnwindSafe for EditGuild<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneDebuggableStorage for T

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> CloneableStorage for T
where T: Any + Send + Sync + Clone,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DebuggableStorage for T
where T: Any + Send + Sync + Debug,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T