811 lines
22 KiB
TypeScript
811 lines
22 KiB
TypeScript
/**
|
|
* Types extracted from https://discord.com/developers/docs/resources/audit-log
|
|
*/
|
|
|
|
import type {
|
|
APIAutoModerationAction,
|
|
APIAutoModerationRule,
|
|
APIAutoModerationRuleTriggerMetadata,
|
|
AutoModerationRuleEventType,
|
|
AutoModerationRuleTriggerType,
|
|
} from './autoModeration';
|
|
import type { APIChannel, APIOverwrite } from './channel';
|
|
import type {
|
|
APIGuildIntegration,
|
|
GuildDefaultMessageNotifications,
|
|
GuildExplicitContentFilter,
|
|
GuildMFALevel,
|
|
GuildVerificationLevel,
|
|
IntegrationExpireBehavior,
|
|
} from './guild';
|
|
import type {
|
|
APIGuildScheduledEvent,
|
|
GuildScheduledEventEntityType,
|
|
GuildScheduledEventStatus,
|
|
} from './guildScheduledEvent';
|
|
import type { APIApplicationCommand } from './interactions';
|
|
import type { APIRole } from './permissions';
|
|
import type { StageInstancePrivacyLevel } from './stageInstance';
|
|
import type { StickerFormatType } from './sticker';
|
|
import type { APIUser } from './user';
|
|
import type { APIWebhook } from './webhook';
|
|
import type { Snowflake } from '../../globals';
|
|
|
|
/**
|
|
* https://discord.com/developers/docs/resources/audit-log#audit-log-object-audit-log-structure
|
|
*/
|
|
export interface APIAuditLog {
|
|
/**
|
|
* List of application commands found in the audit log
|
|
*
|
|
* See https://discord.com/developers/docs/interactions/application-commands#application-command-object
|
|
*/
|
|
application_commands: APIApplicationCommand[];
|
|
/**
|
|
* Webhooks found in the audit log
|
|
*
|
|
* See https://discord.com/developers/docs/resources/webhook#webhook-object
|
|
*/
|
|
webhooks: APIWebhook[];
|
|
/**
|
|
* Users found in the audit log
|
|
*
|
|
* See https://discord.com/developers/docs/resources/user#user-object
|
|
*/
|
|
users: APIUser[];
|
|
/**
|
|
* Audit log entries
|
|
*
|
|
* See https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object
|
|
*/
|
|
audit_log_entries: APIAuditLogEntry[];
|
|
/**
|
|
* List of auto moderation rules referenced in the audit log
|
|
*
|
|
* See https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object
|
|
*/
|
|
auto_moderation_rules: APIAutoModerationRule[];
|
|
/**
|
|
* Partial integration objects
|
|
*
|
|
* See https://discord.com/developers/docs/resources/guild#integration-object
|
|
*/
|
|
integrations: APIGuildIntegration[];
|
|
/**
|
|
* Threads found in the audit log
|
|
*
|
|
* Threads referenced in THREAD_CREATE and THREAD_UPDATE events are included in the threads map, since archived threads might not be kept in memory by clients.
|
|
*
|
|
* See https://discord.com/developers/docs/resources/channel#channel-object
|
|
*/
|
|
threads: APIChannel[];
|
|
/**
|
|
* The guild scheduled events in the audit log
|
|
*
|
|
* See https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object
|
|
*/
|
|
guild_scheduled_events: APIGuildScheduledEvent[];
|
|
}
|
|
|
|
/**
|
|
* https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-entry-structure
|
|
*/
|
|
export interface APIAuditLogEntry {
|
|
/**
|
|
* ID of the affected entity (webhook, user, role, etc.)
|
|
*/
|
|
target_id: string | null;
|
|
/**
|
|
* Changes made to the `target_id`
|
|
*
|
|
* See https://discord.com/developers/docs/resources/audit-log#audit-log-change-object
|
|
*/
|
|
changes?: APIAuditLogChange[];
|
|
/**
|
|
* The user who made the changes
|
|
*
|
|
* This can be `null` in some cases (webhooks deleting themselves by using their own token, for example)
|
|
*/
|
|
user_id: Snowflake | null;
|
|
/**
|
|
* ID of the entry
|
|
*/
|
|
id: Snowflake;
|
|
/**
|
|
* Type of action that occurred
|
|
*
|
|
* See https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-events
|
|
*/
|
|
action_type: AuditLogEvent;
|
|
/**
|
|
* Additional info for certain action types
|
|
*
|
|
* See https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-optional-audit-entry-info
|
|
*/
|
|
options?: APIAuditLogOptions;
|
|
/**
|
|
* The reason for the change (0-512 characters)
|
|
*/
|
|
reason?: string;
|
|
}
|
|
|
|
/**
|
|
* https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-events
|
|
*/
|
|
export enum AuditLogEvent {
|
|
GuildUpdate = 1,
|
|
|
|
ChannelCreate = 10,
|
|
ChannelUpdate,
|
|
ChannelDelete,
|
|
ChannelOverwriteCreate,
|
|
ChannelOverwriteUpdate,
|
|
ChannelOverwriteDelete,
|
|
|
|
MemberKick = 20,
|
|
MemberPrune,
|
|
MemberBanAdd,
|
|
MemberBanRemove,
|
|
MemberUpdate,
|
|
MemberRoleUpdate,
|
|
MemberMove,
|
|
MemberDisconnect,
|
|
BotAdd,
|
|
|
|
RoleCreate = 30,
|
|
RoleUpdate,
|
|
RoleDelete,
|
|
|
|
InviteCreate = 40,
|
|
InviteUpdate,
|
|
InviteDelete,
|
|
|
|
WebhookCreate = 50,
|
|
WebhookUpdate,
|
|
WebhookDelete,
|
|
|
|
EmojiCreate = 60,
|
|
EmojiUpdate,
|
|
EmojiDelete,
|
|
|
|
MessageDelete = 72,
|
|
MessageBulkDelete,
|
|
MessagePin,
|
|
MessageUnpin,
|
|
|
|
IntegrationCreate = 80,
|
|
IntegrationUpdate,
|
|
IntegrationDelete,
|
|
StageInstanceCreate,
|
|
StageInstanceUpdate,
|
|
StageInstanceDelete,
|
|
|
|
StickerCreate = 90,
|
|
StickerUpdate,
|
|
StickerDelete,
|
|
|
|
GuildScheduledEventCreate = 100,
|
|
GuildScheduledEventUpdate,
|
|
GuildScheduledEventDelete,
|
|
|
|
ThreadCreate = 110,
|
|
ThreadUpdate,
|
|
ThreadDelete,
|
|
|
|
ApplicationCommandPermissionUpdate = 121,
|
|
|
|
AutoModerationRuleCreate = 140,
|
|
AutoModerationRuleUpdate,
|
|
AutoModerationRuleDelete,
|
|
AutoModerationBlockMessage,
|
|
AutoModerationFlagToChannel,
|
|
AutoModerationUserCommunicationDisabled,
|
|
}
|
|
|
|
/**
|
|
* https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-optional-audit-entry-info
|
|
*/
|
|
export interface APIAuditLogOptions {
|
|
/**
|
|
* Name of the Auto Moderation rule that was triggered
|
|
*
|
|
* Present from:
|
|
* - AUTO_MODERATION_BLOCK_MESSAGE
|
|
* - AUTO_MODERATION_FLAG_TO_CHANNEL
|
|
* - AUTO_MODERATION_USER_COMMUNICATION_DISABLED
|
|
*/
|
|
auto_moderation_rule_name?: string;
|
|
/**
|
|
* Trigger type of the Auto Moderation rule that was triggered
|
|
*
|
|
* Present from:
|
|
* - AUTO_MODERATION_BLOCK_MESSAGE
|
|
* - AUTO_MODERATION_FLAG_TO_CHANNEL
|
|
* - AUTO_MODERATION_USER_COMMUNICATION_DISABLED
|
|
*/
|
|
auto_moderation_rule_trigger_type?: AuditLogRuleTriggerType;
|
|
/**
|
|
* Number of days after which inactive members were kicked
|
|
*
|
|
* Present from:
|
|
* - MEMBER_PRUNE
|
|
*/
|
|
delete_member_days?: string;
|
|
/**
|
|
* Number of members removed by the prune
|
|
*
|
|
* Present from:
|
|
* - MEMBER_PRUNE
|
|
*/
|
|
members_removed?: string;
|
|
|
|
/**
|
|
* Channel in which the entities were targeted
|
|
*
|
|
* Present from:
|
|
* - MEMBER_MOVE
|
|
* - MESSAGE_PIN
|
|
* - MESSAGE_UNPIN
|
|
* - MESSAGE_DELETE
|
|
* - STAGE_INSTANCE_CREATE
|
|
* - STAGE_INSTANCE_UPDATE
|
|
* - STAGE_INSTANCE_DELETE
|
|
* - AUTO_MODERATION_BLOCK_MESSAGE
|
|
* - AUTO_MODERATION_FLAG_TO_CHANNEL
|
|
* - AUTO_MODERATION_USER_COMMUNICATION_DISABLED
|
|
*/
|
|
channel_id?: Snowflake;
|
|
|
|
/**
|
|
* ID of the message that was targeted
|
|
*
|
|
* Present from:
|
|
* - MESSAGE_PIN
|
|
* - MESSAGE_UNPIN
|
|
*/
|
|
message_id?: Snowflake;
|
|
|
|
/**
|
|
* Number of entities that were targeted
|
|
*
|
|
* Present from:
|
|
* - MESSAGE_DELETE
|
|
* - MESSAGE_BULK_DELETE
|
|
* - MEMBER_DISCONNECT
|
|
* - MEMBER_MOVE
|
|
*/
|
|
count?: string;
|
|
|
|
/**
|
|
* ID of the overwritten entity
|
|
*
|
|
* Present from:
|
|
* - CHANNEL_OVERWRITE_CREATE
|
|
* - CHANNEL_OVERWRITE_UPDATE
|
|
* - CHANNEL_OVERWRITE_DELETE
|
|
*/
|
|
id?: Snowflake;
|
|
|
|
/**
|
|
* Type of overwritten entity - "0" for "role" or "1" for "member"
|
|
*
|
|
* Present from:
|
|
* - CHANNEL_OVERWRITE_CREATE
|
|
* - CHANNEL_OVERWRITE_UPDATE
|
|
* - CHANNEL_OVERWRITE_DELETE
|
|
*
|
|
* {@link AuditLogOptionsType}
|
|
*/
|
|
type?: AuditLogOptionsType;
|
|
|
|
/**
|
|
* Name of the role
|
|
*
|
|
* Present from:
|
|
* - CHANNEL_OVERWRITE_CREATE
|
|
* - CHANNEL_OVERWRITE_UPDATE
|
|
* - CHANNEL_OVERWRITE_DELETE
|
|
*
|
|
* **Present only if the {@link APIAuditLogOptions#type entry type} is "0"**
|
|
*/
|
|
role_name?: string;
|
|
}
|
|
|
|
export enum AuditLogOptionsType {
|
|
Role = '0',
|
|
Member = '1',
|
|
}
|
|
|
|
export type AuditLogRuleTriggerType = `${AutoModerationRuleTriggerType}`;
|
|
|
|
/**
|
|
* https://discord.com/developers/docs/resources/audit-log#audit-log-change-object-audit-log-change-structure
|
|
*/
|
|
export type APIAuditLogChange =
|
|
| APIAuditLogChangeKeyName
|
|
| APIAuditLogChangeKeyDescription
|
|
| APIAuditLogChangeKeyIconHash
|
|
| APIAuditLogChangeKeyImageHash
|
|
| APIAuditLogChangeKeySplashHash
|
|
| APIAuditLogChangeKeyDiscoverySplashHash
|
|
| APIAuditLogChangeKeyBannerHash
|
|
| APIAuditLogChangeKeyOwnerId
|
|
| APIAuditLogChangeKeyRegion
|
|
| APIAuditLogChangeKeyPreferredLocale
|
|
| APIAuditLogChangeKeyAFKChannelId
|
|
| APIAuditLogChangeKeyAFKTimeout
|
|
| APIAuditLogChangeKeyRulesChannelId
|
|
| APIAuditLogChangeKeyPublicUpdatesChannelId
|
|
| APIAuditLogChangeKeyMFALevel
|
|
| APIAuditLogChangeKeyVerificationLevel
|
|
| APIAuditLogChangeKeyExplicitContentFilter
|
|
| APIAuditLogChangeKeyDefaultMessageNotifications
|
|
| APIAuditLogChangeKeyVanityURLCode
|
|
| APIAuditLogChangeKey$Add
|
|
| APIAuditLogChangeKey$Remove
|
|
| APIAuditLogChangeKeyPruneDeleteDays
|
|
| APIAuditLogChangeKeyWidgetEnabled
|
|
| APIAuditLogChangeKeyWidgetChannelId
|
|
| APIAuditLogChangeKeySystemChannelId
|
|
| APIAuditLogChangeKeyPosition
|
|
| APIAuditLogChangeKeyTopic
|
|
| APIAuditLogChangeKeyBitrate
|
|
| APIAuditLogChangeKeyPermissionOverwrites
|
|
| APIAuditLogChangeKeyNSFW
|
|
| APIAuditLogChangeKeyApplicationId
|
|
| APIAuditLogChangeKeyRateLimitPerUser
|
|
| APIAuditLogChangeKeyPermissions
|
|
| APIAuditLogChangeKeyColor
|
|
| APIAuditLogChangeKeyHoist
|
|
| APIAuditLogChangeKeyMentionable
|
|
| APIAuditLogChangeKeyAllow
|
|
| APIAuditLogChangeKeyDeny
|
|
| APIAuditLogChangeKeyCode
|
|
| APIAuditLogChangeKeyChannelId
|
|
| APIAuditLogChangeKeyInviterId
|
|
| APIAuditLogChangeKeyMaxUses
|
|
| APIAuditLogChangeKeyUses
|
|
| APIAuditLogChangeKeyMaxAge
|
|
| APIAuditLogChangeKeyTemporary
|
|
| APIAuditLogChangeKeyDeaf
|
|
| APIAuditLogChangeKeyMute
|
|
| APIAuditLogChangeKeyNick
|
|
| APIAuditLogChangeKeyAvatarHash
|
|
| APIAuditLogChangeKeyId
|
|
| APIAuditLogChangeKeyType
|
|
| APIAuditLogChangeKeyEnableEmoticons
|
|
| APIAuditLogChangeKeyExpireBehavior
|
|
| APIAuditLogChangeKeyExpireGracePeriod
|
|
| APIAuditLogChangeKeyUserLimit
|
|
| APIAuditLogChangeKeyPrivacyLevel
|
|
| APIAuditLogChangeKeyTags
|
|
| APIAuditLogChangeKeyFormatType
|
|
| APIAuditLogChangeKeyAsset
|
|
| APIAuditLogChangeKeyAvailable
|
|
| APIAuditLogChangeKeyGuildId
|
|
| APIAuditLogChangeKeyArchived
|
|
| APIAuditLogChangeKeyLocked
|
|
| APIAuditLogChangeKeyAutoArchiveDuration
|
|
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
|
|
| APIAuditLogChangeKeyEntityType
|
|
| APIAuditLogChangeKeyStatus
|
|
| APIAuditLogChangeKeyLocation
|
|
| APIAuditLogChangeKeyCommunicationDisabledUntil
|
|
| APIAuditLogChangeKeyTriggerType
|
|
| APIAuditLogChangeKeyEventType
|
|
| APIAuditLogChangeKeyTriggerMetadata
|
|
| APIAuditLogChangeKeyActions
|
|
| APIAuditLogChangeKeyEnabled
|
|
| APIAuditLogChangeKeyExemptRoles
|
|
| APIAuditLogChangeKeyExemptChannels;
|
|
|
|
/**
|
|
* Returned when an entity's name is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyName = AuditLogChangeData<'name', string>;
|
|
|
|
/**
|
|
* Returned when a guild's or sticker's or guild scheduled event's description is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyDescription = AuditLogChangeData<'description', string>;
|
|
|
|
/**
|
|
* Returned when a guild's icon is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyIconHash = AuditLogChangeData<'icon_hash', string>;
|
|
|
|
/**
|
|
* Returned when a guild's scheduled event's cover image is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyImageHash = AuditLogChangeData<'image_hash', string>;
|
|
|
|
/**
|
|
* Returned when a guild's splash is changed
|
|
*/
|
|
export type APIAuditLogChangeKeySplashHash = AuditLogChangeData<'splash_hash', string>;
|
|
|
|
/**
|
|
* Returned when a guild's discovery splash is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyDiscoverySplashHash = AuditLogChangeData<'discovery_splash_hash', string>;
|
|
|
|
/**
|
|
* Returned when a guild's banner hash is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyBannerHash = AuditLogChangeData<'banner_hash', string>;
|
|
|
|
/**
|
|
* Returned when a guild's owner_id is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyOwnerId = AuditLogChangeData<'owner_id', Snowflake>;
|
|
|
|
/**
|
|
* Returned when a guild's region is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyRegion = AuditLogChangeData<'region', string>;
|
|
|
|
/**
|
|
* Returned when a guild's preferred_locale is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyPreferredLocale = AuditLogChangeData<'preferred_locale', string>;
|
|
|
|
/**
|
|
* Returned when a guild's afk_channel_id is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyAFKChannelId = AuditLogChangeData<'afk_channel_id', Snowflake>;
|
|
|
|
/**
|
|
* Returned when a guild's afk_timeout is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyAFKTimeout = AuditLogChangeData<'afk_timeout', number>;
|
|
|
|
/**
|
|
* Returned when a guild's rules_channel_id is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyRulesChannelId = AuditLogChangeData<'rules_channel_id', string>;
|
|
|
|
/**
|
|
* Returned when a guild's public_updates_channel_id is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyPublicUpdatesChannelId = AuditLogChangeData<'public_updates_channel_id', string>;
|
|
|
|
/**
|
|
* Returned when a guild's mfa_level is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyMFALevel = AuditLogChangeData<'mfa_level', GuildMFALevel>;
|
|
|
|
/**
|
|
* Returned when a guild's verification_level is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyVerificationLevel = AuditLogChangeData<'verification_level', GuildVerificationLevel>;
|
|
|
|
/**
|
|
* Returned when a guild's explicit_content_filter is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyExplicitContentFilter = AuditLogChangeData<
|
|
'explicit_content_filter',
|
|
GuildExplicitContentFilter
|
|
>;
|
|
|
|
/**
|
|
* Returned when a guild's default_message_notifications is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyDefaultMessageNotifications = AuditLogChangeData<
|
|
'default_message_notifications',
|
|
GuildDefaultMessageNotifications
|
|
>;
|
|
|
|
/**
|
|
* Returned when a guild's vanity_url_code is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyVanityURLCode = AuditLogChangeData<'vanity_url_code', string>;
|
|
|
|
/**
|
|
* Returned when new role(s) are added
|
|
*/
|
|
export type APIAuditLogChangeKey$Add = AuditLogChangeData<'$add', APIRole[]>;
|
|
|
|
/**
|
|
* Returned when role(s) are removed
|
|
*/
|
|
export type APIAuditLogChangeKey$Remove = AuditLogChangeData<'$remove', APIRole[]>;
|
|
|
|
/**
|
|
* Returned when there is a change in number of days after which inactive and role-unassigned members are kicked
|
|
*/
|
|
export type APIAuditLogChangeKeyPruneDeleteDays = AuditLogChangeData<'prune_delete_days', number>;
|
|
|
|
/**
|
|
* Returned when a guild's widget is enabled
|
|
*/
|
|
export type APIAuditLogChangeKeyWidgetEnabled = AuditLogChangeData<'widget_enabled', boolean>;
|
|
|
|
/**
|
|
* Returned when a guild's widget_channel_id is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyWidgetChannelId = AuditLogChangeData<'widget_channel_id', Snowflake>;
|
|
|
|
/**
|
|
* Returned when a guild's system_channel_id is changed
|
|
*/
|
|
export type APIAuditLogChangeKeySystemChannelId = AuditLogChangeData<'system_channel_id', Snowflake>;
|
|
|
|
/**
|
|
* Returned when a channel's position is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyPosition = AuditLogChangeData<'position', number>;
|
|
|
|
/**
|
|
* Returned when a channel's topic is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyTopic = AuditLogChangeData<'topic', string>;
|
|
|
|
/**
|
|
* Returned when a voice channel's bitrate is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyBitrate = AuditLogChangeData<'bitrate', number>;
|
|
|
|
/**
|
|
* Returned when a channel's permission overwrites is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyPermissionOverwrites = AuditLogChangeData<'permission_overwrites', APIOverwrite[]>;
|
|
|
|
/**
|
|
* Returned when a channel's NSFW restriction is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyNSFW = AuditLogChangeData<'nsfw', boolean>;
|
|
|
|
/**
|
|
* The application ID of the added or removed Webhook or Bot
|
|
*/
|
|
export type APIAuditLogChangeKeyApplicationId = AuditLogChangeData<'application_id', Snowflake>;
|
|
|
|
/**
|
|
* Returned when a channel's amount of seconds a user has to wait before sending another message
|
|
* is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyRateLimitPerUser = AuditLogChangeData<'rate_limit_per_user', number>;
|
|
|
|
/**
|
|
* Returned when a permission bitfield is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyPermissions = AuditLogChangeData<'permissions', string>;
|
|
|
|
/**
|
|
* Returned when a role's color is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyColor = AuditLogChangeData<'color', number>;
|
|
|
|
/**
|
|
* Represents a change where the key is a snowflake.
|
|
* Currently, the only known instance of this is returned when permissions for a command were updated (<insert name of object here>)
|
|
*/
|
|
export type APIAuditLogChangeKeySnowflake = AuditLogChangeData<Snowflake, unknown>;
|
|
|
|
/**
|
|
* Returned when a role's hoist status is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyHoist = AuditLogChangeData<'hoist', boolean>;
|
|
|
|
/**
|
|
* Returned when a role's mentionable status is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyMentionable = AuditLogChangeData<'mentionable', boolean>;
|
|
|
|
/**
|
|
* Returned when an overwrite's allowed permissions bitfield is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyAllow = AuditLogChangeData<'allow', string>;
|
|
|
|
/**
|
|
* Returned when an overwrite's denied permissions bitfield is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyDeny = AuditLogChangeData<'deny', string>;
|
|
|
|
/**
|
|
* Returned when an invite's code is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyCode = AuditLogChangeData<'code', string>;
|
|
|
|
/**
|
|
* Returned when an invite's or guild scheduled event's channel_id is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyChannelId = AuditLogChangeData<'channel_id', Snowflake>;
|
|
|
|
/**
|
|
* Returned when an invite's inviter_id is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyInviterId = AuditLogChangeData<'inviter_id', Snowflake>;
|
|
|
|
/**
|
|
* Returned when an invite's max_uses is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyMaxUses = AuditLogChangeData<'max_uses', number>;
|
|
|
|
/**
|
|
* Returned when an invite's uses is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyUses = AuditLogChangeData<'uses', number>;
|
|
|
|
/**
|
|
* Returned when an invite's max_age is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyMaxAge = AuditLogChangeData<'max_age', number>;
|
|
|
|
/**
|
|
* Returned when an invite's temporary status is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyTemporary = AuditLogChangeData<'temporary', boolean>;
|
|
|
|
/**
|
|
* Returned when a user's deaf status is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyDeaf = AuditLogChangeData<'deaf', boolean>;
|
|
|
|
/**
|
|
* Returned when a user's mute status is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyMute = AuditLogChangeData<'mute', boolean>;
|
|
|
|
/**
|
|
* Returned when a user's nick is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyNick = AuditLogChangeData<'nick', string>;
|
|
|
|
/**
|
|
* Returned when a user's avatar_hash is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyAvatarHash = AuditLogChangeData<'avatar_hash', string>;
|
|
|
|
/**
|
|
* The ID of the changed entity - sometimes used in conjunction with other keys
|
|
*/
|
|
export type APIAuditLogChangeKeyId = AuditLogChangeData<'id', Snowflake>;
|
|
|
|
/**
|
|
* The type of entity created
|
|
*/
|
|
export type APIAuditLogChangeKeyType = AuditLogChangeData<'type', number | string>;
|
|
|
|
/**
|
|
* Returned when an integration's enable_emoticons is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyEnableEmoticons = AuditLogChangeData<'enable_emoticons', boolean>;
|
|
|
|
/**
|
|
* Returned when an integration's expire_behavior is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyExpireBehavior = AuditLogChangeData<'expire_behavior', IntegrationExpireBehavior>;
|
|
|
|
/**
|
|
* Returned when an integration's expire_grace_period is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyExpireGracePeriod = AuditLogChangeData<'expire_grace_period', number>;
|
|
|
|
/**
|
|
* Returned when a voice channel's user_limit is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyUserLimit = AuditLogChangeData<'user_limit', number>;
|
|
|
|
/**
|
|
* Returned when privacy level of a stage instance or guild scheduled event is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyPrivacyLevel = AuditLogChangeData<'privacy_level', StageInstancePrivacyLevel>;
|
|
|
|
/**
|
|
* Returned when a sticker's related emoji is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyTags = AuditLogChangeData<'tags', string>;
|
|
|
|
/**
|
|
* Returned when a sticker's format_type is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyFormatType = AuditLogChangeData<'format_type', StickerFormatType>;
|
|
|
|
/**
|
|
* Empty string
|
|
*/
|
|
export type APIAuditLogChangeKeyAsset = AuditLogChangeData<'asset', ''>;
|
|
|
|
/**
|
|
* Returned when a sticker's availability is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyAvailable = AuditLogChangeData<'available', boolean>;
|
|
|
|
/**
|
|
* Returned when a sticker's guild_id is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyGuildId = AuditLogChangeData<'guild_id', Snowflake>;
|
|
|
|
/*
|
|
* Returned when a thread's archive status is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyArchived = AuditLogChangeData<'archived', boolean>;
|
|
|
|
/*
|
|
* Returned when a thread's lock status is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyLocked = AuditLogChangeData<'locked', boolean>;
|
|
|
|
/*
|
|
* Returned when a thread's auto archive duration is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyAutoArchiveDuration = AuditLogChangeData<'auto_archive_duration', number>;
|
|
|
|
/*
|
|
* Returned when a channel's default auto archive duration for newly created threads is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyDefaultAutoArchiveDuration = AuditLogChangeData<
|
|
'default_auto_archive_duration',
|
|
number
|
|
>;
|
|
|
|
/**
|
|
* Returned when entity type of a guild scheduled event is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyEntityType = AuditLogChangeData<'entity_type', GuildScheduledEventEntityType>;
|
|
|
|
/**
|
|
* Returned when status of a guild scheduled event is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyStatus = AuditLogChangeData<'status', GuildScheduledEventStatus>;
|
|
|
|
/**
|
|
* Returned when location of a guild scheduled event is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyLocation = AuditLogChangeData<'location', string>;
|
|
|
|
/**
|
|
* Returned when a user's timeout is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyCommunicationDisabledUntil = AuditLogChangeData<'communication_disabled_until', string>;
|
|
|
|
/**
|
|
* Returned when an auto moderation rule's trigger type is changed (only in rule creation or deletion)
|
|
*/
|
|
export type APIAuditLogChangeKeyTriggerType = AuditLogChangeData<'trigger_type', AutoModerationRuleTriggerType>;
|
|
|
|
/**
|
|
* Returned when an auto moderation rule's event type is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyEventType = AuditLogChangeData<'event_type', AutoModerationRuleEventType>;
|
|
|
|
/**
|
|
* Returned when an auto moderation rule's trigger metadata is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyTriggerMetadata = AuditLogChangeData<
|
|
'trigger_metadata',
|
|
APIAutoModerationRuleTriggerMetadata
|
|
>;
|
|
|
|
/**
|
|
* Returned when an auto moderation rule's actions is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyActions = AuditLogChangeData<'actions', APIAutoModerationAction[]>;
|
|
|
|
/**
|
|
* Returned when an auto moderation rule's enabled status is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyEnabled = AuditLogChangeData<'enabled', boolean>;
|
|
|
|
/**
|
|
* Returned when an auto moderation rule's exempt roles is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyExemptRoles = AuditLogChangeData<'exempt_roles', Snowflake[]>;
|
|
|
|
/**
|
|
* Returned when an auto moderation rule's exempt channels is changed
|
|
*/
|
|
export type APIAuditLogChangeKeyExemptChannels = AuditLogChangeData<'exempt_channels', Snowflake[]>;
|
|
|
|
interface AuditLogChangeData<K extends string, D> {
|
|
key: K;
|
|
/**
|
|
* The new value
|
|
*
|
|
* If `new_value` is not present in the change object, while `old_value` is,
|
|
* that means the property that was changed has been reset, or set to `null`
|
|
*/
|
|
new_value?: D;
|
|
old_value?: D;
|
|
}
|