@@ -122,6 +122,105 @@ const (
122
122
AuditLogHomeSettingsUpdate
123
123
)
124
124
125
+ // AuditLogChangeKey is a string representing a key in the audit log change object.
126
+ type AuditLogChangeKey string
127
+
128
+ const (
129
+ AuditLogChangeKeyAFKChannelID AuditLogChangeKey = "afk_channel_id"
130
+ AuditLogChangeKeyAFKTimeout AuditLogChangeKey = "afk_timeout"
131
+ // AuditLogChangeKeyAllow is sent when a role's permission overwrites changed (stringy int)
132
+ AuditLogChangeKeyAllow AuditLogChangeKey = "allow"
133
+ AuditLogChangeKeyApplicationID AuditLogChangeKey = "application_id"
134
+ // AuditLogChangeKeyArchived is sent when a channel thread is archived/unarchived (bool)
135
+ AuditLogChangeKeyArchived AuditLogChangeKey = "archived"
136
+ AuditLogChangeKeyAsset AuditLogChangeKey = "asset"
137
+ // AuditLogChangeKeyAutoArchiveDuration is sent when a thread's auto archive duration is changed (int)
138
+ AuditLogChangeKeyAutoArchiveDuration AuditLogChangeKey = "auto_archive_duration"
139
+ AuditLogChangeKeyAvailable AuditLogChangeKey = "available"
140
+ AuditLogChangeKeyAvatarHash AuditLogChangeKey = "avatar_hash"
141
+ AuditLogChangeKeyBannerHash AuditLogChangeKey = "banner_hash"
142
+ AuditLogChangeKeyBitrate AuditLogChangeKey = "bitrate"
143
+ AuditLogChangeKeyChannelID AuditLogChangeKey = "channel_id"
144
+ AuditLogChangeKeyCode AuditLogChangeKey = "code"
145
+ // AuditLogChangeKeyColor is sent when a role's color is changed (int)
146
+ AuditLogChangeKeyColor AuditLogChangeKey = "color"
147
+ // AuditLogChangeKeyCommunicationDisabledUntil is sent when a user's communication disabled until datetime is changed (stringy ISO8601 datetime)
148
+ AuditLogChangeKeyCommunicationDisabledUntil AuditLogChangeKey = "communication_disabled_until"
149
+ // AuditLogChangeKeyDeaf is sent when a user is set to be server deafened/undeafened (bool)
150
+ AuditLogChangeKeyDeaf AuditLogChangeKey = "deaf"
151
+ AuditLogChangeKeyDefaultAutoArchiveDuration AuditLogChangeKey = "default_auto_archive_duration"
152
+ AuditLogChangeKeyDefaultMessageNotifications AuditLogChangeKey = "default_message_notifications"
153
+ // AuditLogChangeKeyDeny is sent when a role's permission overwrites changed (stringed int)
154
+ AuditLogChangeKeyDeny AuditLogChangeKey = "deny"
155
+ AuditLogChangeKeyDescription AuditLogChangeKey = "description"
156
+ AuditLogChangeKeyDiscoverySplashHash AuditLogChangeKey = "discovery_splash_hash"
157
+ AuditLogChangeKeyEnableEmoticons AuditLogChangeKey = "enable_emoticons"
158
+ AuditLogChangeKeyEntityType AuditLogChangeKey = "entity_type"
159
+ AuditLogChangeKeyExpireBehavior AuditLogChangeKey = "expire_behavior"
160
+ AuditLogChangeKeyExpireGracePeriod AuditLogChangeKey = "expire_grace_period"
161
+ AuditLogChangeKeyExplicitContentFilter AuditLogChangeKey = "explicit_content_filter"
162
+ AuditLogChangeKeyFormatType AuditLogChangeKey = "format_type"
163
+ AuditLogChangeKeyGuildID AuditLogChangeKey = "guild_id"
164
+ // AuditLogChangeKeyHoist is sent when a role is set to be displayed separately from online members (bool)
165
+ AuditLogChangeKeyHoist AuditLogChangeKey = "hoist"
166
+ AuditLogChangeKeyIconHash AuditLogChangeKey = "icon_hash"
167
+ AuditLogChangeKeyID AuditLogChangeKey = "id"
168
+ AuditLogChangeKeyInvitable AuditLogChangeKey = "invitable"
169
+ AuditLogChangeKeyInviterID AuditLogChangeKey = "inviter_id"
170
+ AuditLogChangeKeyLocation AuditLogChangeKey = "location"
171
+ // AuditLogChangeKeyLocked is sent when a channel thread is locked/unlocked (bool)
172
+ AuditLogChangeKeyLocked AuditLogChangeKey = "locked"
173
+ AuditLogChangeKeyMaxAge AuditLogChangeKey = "max_age"
174
+ AuditLogChangeKeyMaxUses AuditLogChangeKey = "max_uses"
175
+ // AuditLogChangeKeyMentionable is sent when a role changes its mentionable state (bool)
176
+ AuditLogChangeKeyMentionable AuditLogChangeKey = "mentionable"
177
+ AuditLogChangeKeyMFALevel AuditLogChangeKey = "mfa_level"
178
+ // AuditLogChangeKeyMute is sent when a user is server muted/unmuted (bool)
179
+ AuditLogChangeKeyMute AuditLogChangeKey = "mute"
180
+ AuditLogChangeKeyName AuditLogChangeKey = "name"
181
+ // AuditLogChangeKeyNick is sent when a user's nickname is changed (string)
182
+ AuditLogChangeKeyNick AuditLogChangeKey = "nick"
183
+ AuditLogChangeKeyNSFW AuditLogChangeKey = "nsfw"
184
+ // AuditLogChangeKeyOwnerID is sent when owner id of a guild changed (snowflake.ID)
185
+ AuditLogChangeKeyOwnerID AuditLogChangeKey = "owner_id"
186
+ // AuditLogChangeKeyPermissionOverwrites is sent when a role's permission overwrites changed (string)
187
+ AuditLogChangeKeyPermissionOverwrites AuditLogChangeKey = "permission_overwrites"
188
+ // AuditLogChangeKeyPermissions is sent when a role's permissions changed (string)
189
+ AuditLogChangeKeyPermissions AuditLogChangeKey = "permissions"
190
+ // AuditLogChangeKeyPosition is sent when channel position changed (int)
191
+ AuditLogChangeKeyPosition AuditLogChangeKey = "position"
192
+ AuditLogChangeKeyPreferredLocale AuditLogChangeKey = "preferred_locale"
193
+ AuditLogChangeKeyPrivacyLevel AuditLogChangeKey = "privacy_level"
194
+ AuditLogChangeKeyPruneDeleteDays AuditLogChangeKey = "prune_delete_days"
195
+ AuditLogChangeKeyPublicUpdatesChannelID AuditLogChangeKey = "public_updates_channel_id"
196
+ AuditLogChangeKeyRateLimitPerUser AuditLogChangeKey = "rate_limit_per_user"
197
+ AuditLogChangeKeyRegion AuditLogChangeKey = "region"
198
+ AuditLogChangeKeyRulesChannelID AuditLogChangeKey = "rules_channel_id"
199
+ AuditLogChangeKeySplashHash AuditLogChangeKey = "splash_hash"
200
+ AuditLogChangeKeyStatus AuditLogChangeKey = "status"
201
+ // AuditLogChangeKeySystemChannelID is sent when system channel id of a guild changed (snowflake.ID)
202
+ AuditLogChangeKeySystemChannelID AuditLogChangeKey = "system_channel_id"
203
+ AuditLogChangeKeyTags AuditLogChangeKey = "tags"
204
+ AuditLogChangeKeyTemporary AuditLogChangeKey = "temporary"
205
+ // AuditLogChangeKeyTopic is sent when channel topic changed (string)
206
+ AuditLogChangeKeyTopic AuditLogChangeKey = "topic"
207
+ AuditLogChangeKeyType AuditLogChangeKey = "type"
208
+ AuditLogChangeKeyUnicodeEmoji AuditLogChangeKey = "unicode_emoji"
209
+ // AuditLogChangeKeyUserLimit is sent when user limit of a voice channel changed (int)
210
+ AuditLogChangeKeyUserLimit AuditLogChangeKey = "user_limit"
211
+ AuditLogChangeKeyUses AuditLogChangeKey = "uses"
212
+ AuditLogChangeKeyVanityURLCode AuditLogChangeKey = "vanity_url_code"
213
+ // AuditLogChangeKeyVerificationLevel is sent when verification level of the server changed (int)
214
+ AuditLogChangeKeyVerificationLevel AuditLogChangeKey = "verification_level"
215
+ AuditLogChangeKeyWidgetChannelID AuditLogChangeKey = "widget_channel_id"
216
+ // AuditLogChangeKeyWidgetEnabled is sent when a server widget is enabled/disabled (bool)
217
+ AuditLogChangeKeyWidgetEnabled AuditLogChangeKey = "widget_enabled"
218
+ // AuditLogChangeKeyRoleAdd is sent when roles are added to a user (array of discord.PartialRole JSON)
219
+ AuditLogChangeKeyRoleAdd AuditLogChangeKey = "$add"
220
+ // AuditLogChangeKeyRoleRemove is sent when roles are removed from a user (array of discord.PartialRole JSON)
221
+ AuditLogChangeKeyRoleRemove AuditLogChangeKey = "$remove"
222
+ )
223
+
125
224
// AuditLog (https://discord.com/developers/docs/resources/audit-log) These are logs of events that occurred, accessible via the Discord
126
225
type AuditLog struct {
127
226
ApplicationCommands []ApplicationCommand `json:"application_commands"`
@@ -190,7 +289,7 @@ type AuditLogChange struct {
190
289
// OldValue is the old value of the key before the change as a json.RawMessage.
191
290
OldValue json.RawMessage `json:"old_value"`
192
291
// Key is the key of the change.
193
- Key string `json:"key"`
292
+ Key AuditLogChangeKey `json:"key"`
194
293
}
195
294
196
295
// UnmarshalNewValue unmarshals the NewValue field into the provided type.
0 commit comments