#[non_exhaustive]
pub enum AuditLogChange {
Show 72 variants AfkChannelId { new: Option<Id<ChannelMarker>>, old: Option<Id<ChannelMarker>>, }, AfkTimeout { new: u64, old: u64, }, Allow { new: Option<Permissions>, old: Option<Permissions>, }, ApplicationId { new: Option<Id<ApplicationMarker>>, old: Option<Id<ApplicationMarker>>, }, Archived { new: Option<bool>, old: Option<bool>, }, Asset { new: Option<String>, old: Option<String>, }, AutoArchiveDuration { new: Option<AutoArchiveDuration>, old: Option<AutoArchiveDuration>, }, Available { new: Option<bool>, old: Option<bool>, }, AvatarHash { new: Option<String>, old: Option<String>, }, BannerHash { new: Option<String>, old: Option<String>, }, Bitrate { new: Option<u64>, old: Option<u64>, }, ChannelId { new: Option<Id<ChannelMarker>>, old: Option<Id<ChannelMarker>>, }, Code { new: Option<String>, old: Option<String>, }, Color { new: Option<u64>, old: Option<u64>, }, CommunicationDisabledUntil { new: Option<Timestamp>, old: Option<Timestamp>, }, Deaf { new: Option<bool>, old: Option<bool>, }, DefaultAutoArchiveDuration { new: Option<AutoArchiveDuration>, old: Option<AutoArchiveDuration>, }, DefaultMessageNotifications { new: Option<DefaultMessageNotificationLevel>, old: Option<DefaultMessageNotificationLevel>, }, Deny { new: Option<Permissions>, old: Option<Permissions>, }, Description { new: Option<String>, old: Option<String>, }, DiscoverySplashHash { new: Option<String>, old: Option<String>, }, EnableEmoticons { new: Option<bool>, old: Option<bool>, }, EntityType { new: Option<u64>, old: Option<u64>, }, ExpireBehavior { new: Option<u64>, old: Option<u64>, }, ExpireGracePeriod { new: Option<u64>, old: Option<u64>, }, ExplicitContentFilter { new: Option<ExplicitContentFilter>, old: Option<ExplicitContentFilter>, }, FormatType { new: Option<StickerFormatType>, old: Option<StickerFormatType>, }, GuildId { new: Option<Id<GuildMarker>>, old: Option<Id<GuildMarker>>, }, Hoist { new: Option<bool>, old: Option<bool>, }, IconHash { new: Option<String>, old: Option<String>, }, Id { new: Option<Id<GenericMarker>>, old: Option<Id<GenericMarker>>, }, Invitable { new: Option<bool>, old: Option<bool>, }, InviterId { new: Option<Id<UserMarker>>, old: Option<Id<UserMarker>>, }, Location { new: Option<String>, old: Option<String>, }, Locked { new: Option<bool>, old: Option<bool>, }, MaxAge { new: Option<u64>, old: Option<u64>, }, MaxUses { new: Option<u64>, old: Option<u64>, }, Mentionable { new: Option<bool>, old: Option<bool>, }, MfaLevel { new: Option<MfaLevel>, old: Option<MfaLevel>, }, Mute { new: Option<bool>, old: Option<bool>, }, Name { new: Option<String>, old: Option<String>, }, Nick { new: Option<String>, old: Option<String>, }, Nsfw { new: Option<bool>, old: Option<bool>, }, NsfwLevel { new: Option<NSFWLevel>, old: Option<NSFWLevel>, }, OwnerId { new: Option<Id<UserMarker>>, old: Option<Id<UserMarker>>, }, PermissionOverwrites { new: Option<Vec<PermissionOverwrite>>, old: Option<Vec<PermissionOverwrite>>, }, Permissions { new: Option<Permissions>, old: Option<Permissions>, }, Position { new: Option<u64>, old: Option<u64>, }, PreferredLocale { new: Option<String>, old: Option<String>, }, PrivacyLevel { new: Option<PrivacyLevel>, old: Option<PrivacyLevel>, }, PruneDeleteDays { new: Option<u64>, old: Option<u64>, }, PublicUpdatesChannelId { new: Option<Id<ChannelMarker>>, old: Option<Id<ChannelMarker>>, }, RateLimitPerUser { new: Option<u64>, old: Option<u64>, }, Region { new: Option<String>, old: Option<String>, }, RoleAdded { new: Vec<AffectedRole>, old: Vec<AffectedRole>, }, RoleRemoved { new: Vec<AffectedRole>, old: Vec<AffectedRole>, }, RulesChannelId { new: Option<Id<ChannelMarker>>, old: Option<Id<ChannelMarker>>, }, SplashHash { new: Option<String>, old: Option<String>, }, Status { new: Option<u64>, old: Option<u64>, }, SystemChannelId { new: Option<Id<ChannelMarker>>, old: Option<Id<ChannelMarker>>, }, Tags { new: Option<String>, old: Option<String>, }, Temporary { new: Option<bool>, old: Option<bool>, }, Topic { new: Option<String>, old: Option<String>, }, Type { new: Option<u64>, old: Option<u64>, }, UnicodeEmoji { new: Option<String>, old: Option<String>, }, UserLimit { new: Option<u64>, old: Option<u64>, }, Uses { new: Option<u64>, old: Option<u64>, }, VanityUrlCode { new: Option<String>, old: Option<String>, }, VerificationLevel { new: Option<VerificationLevel>, old: Option<VerificationLevel>, }, WidgetChannelId { new: Option<Id<ChannelMarker>>, old: Option<Id<ChannelMarker>>, }, WidgetEnabled { new: Option<bool>, old: Option<bool>, }, Other,
}
Expand description

Individual change within an AuditLogEntry.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

AfkChannelId

Fields

new: Option<Id<ChannelMarker>>

New ID of the AFK channel.

old: Option<Id<ChannelMarker>>

Old ID of the AFK channel.

AFK channel ID was changed.

AfkTimeout

Fields

new: u64

New timeout, in seconds.

old: u64

Old timeout, in seconds.

Timeout to cause a user to be moved to an AFK voice channel.

Allow

Fields

new: Option<Permissions>

New allowed permissions value.

old: Option<Permissions>

Old allowed permissions value.

Allowed permissions of a permission overwrite target.

ApplicationId

Fields

new: Option<Id<ApplicationMarker>>

Application’s ID.

ID of an application.

Archived

Fields

new: Option<bool>

Whether the thread is archived.

old: Option<bool>

Previous state, if any.

Thread is now archived/unarchived.

Asset

Fields

new: Option<String>

Empty string.

old: Option<String>

Previous state, if any.

Asset of a sticker.

AutoArchiveDuration

Fields

new: Option<AutoArchiveDuration>

New auto archive duration.

old: Option<AutoArchiveDuration>

Old auto archive duration.

Auto archive duration of a thread changed.

Available

Fields

new: Option<bool>

New availability.

old: Option<bool>

Old availability.

Availability of a sticker.

AvatarHash

Fields

new: Option<String>

New hash of an avatar.

old: Option<String>

Old hash of an avatar.

Hash of an avatar.

BannerHash

Fields

new: Option<String>

New hash of a guild’s banner.

old: Option<String>

Old hash of a guild’s banner.

Hash of a guild banner.

Bitrate

Fields

new: Option<u64>

New bitrate.

old: Option<u64>

Old bitrate.

Bitrate of an audio channel.

ChannelId

Fields

new: Option<Id<ChannelMarker>>

New invite’s channel.

old: Option<Id<ChannelMarker>>

Old invite’s channel.

Channel for an invite code.

Code

Fields

new: Option<String>

New invite’s code.

old: Option<String>

Previous state, if any.

Code of an invite.

Color

Fields

new: Option<u64>

New role color.

old: Option<u64>

Old role color.

Color of a role.

CommunicationDisabledUntil

Fields

new: Option<Timestamp>

New timeout timestamp.

old: Option<Timestamp>

Old timeout timestamp.

Member timeout state changed.

Deaf

Fields

new: Option<bool>

Whether a member is now guild deafened.

old: Option<bool>

Previous state, if any.

Whether a member is guild deafened.

DefaultAutoArchiveDuration

Fields

new: Option<AutoArchiveDuration>

New auto archive duration.

old: Option<AutoArchiveDuration>

Old auto archive duration.

default auto archive duration for newly created threads changed.

DefaultMessageNotifications

Fields

new: Option<DefaultMessageNotificationLevel>

New default message notification level.

old: Option<DefaultMessageNotificationLevel>

Old default message notification level.

Default message notification level for a guild.

Deny

Fields

new: Option<Permissions>

New denied permissions level.

old: Option<Permissions>

Previous state, if any.

Denied permissions of a permission overwrite target.

Description

Fields

new: Option<String>

New guild description.

old: Option<String>

Old guild description.

Description of a guild or sticker.

DiscoverySplashHash

Fields

new: Option<String>

New discovery splash hash.

old: Option<String>

Old discovery splash hash.

Hash of a guild’s discovery splash.

EnableEmoticons

Fields

new: Option<bool>

Whether emoticons are now enabled.

old: Option<bool>

Whether emoticons were enabled.

Whether emoticons are enabled.

EntityType

Fields

new: Option<u64>

New entity type.

old: Option<u64>

Previous state, if any.

Entity type of guild scheduled event was changed.

ExpireBehavior

Fields

new: Option<u64>

New expiration behavior.

old: Option<u64>

Previous state, if any.

Behavior of the expiration of an integration.

ExpireGracePeriod

Fields

new: Option<u64>

New expiration grace period.

old: Option<u64>

Previous state, if any.

Grace period of the expiration of an integration.

ExplicitContentFilter

Fields

new: Option<ExplicitContentFilter>

New explicit content filter level.

old: Option<ExplicitContentFilter>

Old explicit content filter level.

Explicit content filter level of a guild.

FormatType

Fields

new: Option<StickerFormatType>

New format type of a sticker.

old: Option<StickerFormatType>

Old format type of a sticker.

Format type of a sticker.

GuildId

Fields

new: Option<Id<GuildMarker>>

New guild that a sticker is in.

old: Option<Id<GuildMarker>>

Old guild that a sticker is in.

Guild that a sticker is in.

Hoist

Fields

new: Option<bool>

Whether a role is now hoisted.

old: Option<bool>

Whether a role was hoisted.

Whether a role is hoisted.

IconHash

Fields

new: Option<String>

New hash of a guild’s icon.

old: Option<String>

Old hash of a guild’s icon.

Hash of a guild icon.

Id

Fields

new: Option<Id<GenericMarker>>

New entity’s ID.

ID of an entity.

Invitable

Fields

new: Option<bool>

New threads invitable state.

old: Option<bool>

Old threads invitable state.

Invitable state of a private thread.

InviterId

Fields

new: Option<Id<UserMarker>>

User ID.

ID of the user who created an invite.

Location

Fields

new: Option<String>
old: Option<String>

Location for a scheduled event changed.

Can be an Id<ChannelMarker> or a String.

Locked

Fields

new: Option<bool>

Whether the thread is now locked.

old: Option<bool>

Previous state, if any.

Thread was locked or unlocked.

MaxAge

Fields

new: Option<u64>

New maximum age.

old: Option<u64>

Previous state, if any.

Maximum age of an invite.

MaxUses

Fields

new: Option<u64>

New maximum uses.

old: Option<u64>

Previous state, if any.

Maximum uses of an invite.

Mentionable

Fields

new: Option<bool>

Whether a role is now mentionable.

old: Option<bool>

Whether a role was mentionable.

Whether a role can be mentioned in a message.

MfaLevel

Fields

new: Option<MfaLevel>

New MFA level of a guild.

old: Option<MfaLevel>

Old MFA level of a guild.

Multi-Factor Authentication level required of a guild’s moderators.

Mute

Fields

new: Option<bool>

Whether a member is now muted.

old: Option<bool>

Whether a member was muted.

Whether a user is guild muted.

Name

Fields

new: Option<String>

New entity name.

old: Option<String>

Old entity name.

Name of an entity such as a channel or role.

Nick

Fields

new: Option<String>

New member nickname.

old: Option<String>

Old member nickname.

Nickname of a member.

Nsfw

Fields

new: Option<bool>

New state.

old: Option<bool>

Previous state, if any.

Whether a channel is NSFW.

NsfwLevel

Fields

new: Option<NSFWLevel>

New NSFW level.

old: Option<NSFWLevel>

Old NSFW level.

NSFW level of a guild.

OwnerId

Fields

new: Option<Id<UserMarker>>

New owner’s ID.

old: Option<Id<UserMarker>>

Old owner’s ID.

ID of the owner of a guild.

PermissionOverwrites

Fields

new: Option<Vec<PermissionOverwrite>>

New set of overwrites.

old: Option<Vec<PermissionOverwrite>>

Old set of overwrites.

Permission overwrites on a channel changed.

Permissions

Fields

new: Option<Permissions>

New set of permissions.

old: Option<Permissions>

Old set of permissions.

Default permissions of a role.

Position

Fields

new: Option<u64>

New position value.

old: Option<u64>

Old position value.

Position of an entity such as a channel or role.

PreferredLocale

Fields

new: Option<String>

New preferred locale.

old: Option<String>

Old preferred locale.

Preferred locale of a guild.

PrivacyLevel

Fields

new: Option<PrivacyLevel>

New privacy level.

old: Option<PrivacyLevel>

Old privacy level.

Privacy level of a stage instance.

PruneDeleteDays

Fields

new: Option<u64>

Number of days.

old: Option<u64>

Number of days’ worth of inactivity for a guild prune.

PublicUpdatesChannelId

Fields

new: Option<Id<ChannelMarker>>

New public updates channel ID.

old: Option<Id<ChannelMarker>>

Old public updates channel ID.

ID of a guild’s public updates channel.

RateLimitPerUser

Fields

new: Option<u64>

New ratelimit, in seconds.

old: Option<u64>

Old ratelimit, in seconds.

Ratelimit per user in a textual channel.

Region

Fields

new: Option<String>

New region.

old: Option<String>

Previous state, if any.

Region of a guild changed.

RoleAdded

Fields

new: Vec<AffectedRole>

Minimal information about a added role.

old: Vec<AffectedRole>

Previous state, if any.

Role was added to a user.

RoleRemoved

Fields

new: Vec<AffectedRole>

Minimal information about a removed role.

old: Vec<AffectedRole>

Previous state, if any.

Role was removed from a user.

RulesChannelId

Fields

new: Option<Id<ChannelMarker>>

New rules channel.

old: Option<Id<ChannelMarker>>

Old rules channel.

Guild’s rules channel.

SplashHash

Fields

new: Option<String>

Old hash of a guild’s splash.

old: Option<String>

New hash of a guild’s splash.

Hash of a guild’s splash.

Status

Fields

new: Option<u64>

New status.

old: Option<u64>

Previous state, if any.

Status of guild scheduled event was changed.

SystemChannelId

Fields

new: Option<Id<ChannelMarker>>

New system channel ID.

old: Option<Id<ChannelMarker>>

Old system channel ID.

ID of guild’s system channel.

Tags

Fields

new: Option<String>

New related emoji of a sticker.

old: Option<String>

Old related emoji of a sticker.

Related emoji of a sticker.

Temporary

Fields

new: Option<bool>

New temporary state.

old: Option<bool>

Previous state, if any.

Whether an invite is temporary.

Topic

Fields

new: Option<String>

New topic.

old: Option<String>

Old topic.

Topic of a textual channel.

Type

Fields

new: Option<u64>

New target type.

old: Option<u64>

Old target type.

Type of a created entity.

UnicodeEmoji

Fields

new: Option<String>

New unicode emoji.

old: Option<String>

Old target type.

Unicode emoji of a role icon changed.

UserLimit

Fields

new: Option<u64>

New limit.

old: Option<u64>

Old limit.

Maximum number of users in a voice channel.

Uses

Fields

new: Option<u64>

Number of uses.

old: Option<u64>

Previous state, if any.

Number of uses of an invite.

VanityUrlCode

Fields

new: Option<String>

New vanity URL code.

old: Option<String>

Old vanity URL code.

Code of a guild’s vanity invite.

VerificationLevel

Fields

new: Option<VerificationLevel>

New verification level.

old: Option<VerificationLevel>

Old verification level.

Required verification level of new members in a guild.

WidgetChannelId

Fields

new: Option<Id<ChannelMarker>>

New channel ID.

old: Option<Id<ChannelMarker>>

Old channel ID.

Channel ID of a widget.

WidgetEnabled

Fields

new: Option<bool>

New state of a widget being enabled.

old: Option<bool>

Old state of a widget being enabled.

Whether a widget is enabled.

Other

Other type of change not covered by other variants.

Implementations

Key of an audit log change.

This may return no key if the variant is Other.

Examples

Check the key of a Uses change:

use twilight_model::guild::audit_log::{
    AuditLogChangeKey,
    AuditLogChange,
};

let change = AuditLogChange::UserLimit {
    new: Some(6),
    old: Some(3),
};

assert_eq!(Some(AuditLogChangeKey::UserLimit), change.key());

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

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

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

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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

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