grom/guild/audit_log
Types
pub type AuditLog {
AuditLog(
application_commands: List(command.Command),
entries: List(Entry),
auto_moderation_rules: List(auto_moderation.Rule),
scheduled_events: List(scheduled_event.ScheduledEvent),
integrations: List(PartialIntegration),
threads: List(channel.Channel),
users: List(user.User),
webhooks: List(webhook.Webhook),
)
}
Constructors
-
AuditLog( application_commands: List(command.Command), entries: List(Entry), auto_moderation_rules: List(auto_moderation.Rule), scheduled_events: List(scheduled_event.ScheduledEvent), integrations: List(PartialIntegration), threads: List(channel.Channel), users: List(user.User), webhooks: List(webhook.Webhook), )
The change object describes what was changed, its old value and new value.
You will need to decode the old and new values based on what was changed using gleam/dynamic/decode
pub type Change {
Change(
key: String,
old_value: option.Option(dynamic.Dynamic),
new_value: option.Option(dynamic.Dynamic),
)
}
Constructors
-
Change( key: String, old_value: option.Option(dynamic.Dynamic), new_value: option.Option(dynamic.Dynamic), )Arguments
- key
-
What was changed. Generally a name of a field in an object’s constructor.
Some fields are undocumented.
See exceptions.
pub type Entry {
Entry(
target_id: option.Option(String),
changes: option.Option(List(Change)),
user_id: option.Option(String),
id: String,
type_: EntryType,
info: option.Option(EntryInfo),
reason: option.Option(String),
)
}
Constructors
-
Entry( target_id: option.Option(String), changes: option.Option(List(Change)), user_id: option.Option(String), id: String, type_: EntryType, info: option.Option(EntryInfo), reason: option.Option(String), )
pub type EntryInfo {
ChannelOverwriteEntry(
id: String,
type_: permission_overwrite.Type,
role_name: option.Option(String),
)
MemberKicked(integration_type: option.Option(integration.Type))
MemberRoleUpdated(
integration_type: option.Option(integration.Type),
)
MembersPruned(delete_member_days: Int, count: Int)
MembersMoved(channel_id: String, count: Int)
MembersDisconnected(count: Int)
MessagesDeleted(channel_id: String, count: Int)
MessagesBulkDeleted(count: Int)
MessagePinned(channel_id: String, message_id: String)
MessageUnpinned(channel_id: String, message_id: String)
StageInstanceEntry(channel_id: String)
ApplicationCommandPermissionUpdated(application_id: String)
AutoModerationTriggered(rule_name: String, channel_id: String)
}
Constructors
-
ChannelOverwriteEntry( id: String, type_: permission_overwrite.Type, role_name: option.Option(String), )Arguments
- role_name
-
Only present if
type_ == permission_overwrite.Role.
-
MemberKicked(integration_type: option.Option(integration.Type))Arguments
- integration_type
-
Only present if an integration performed the action.
-
MemberRoleUpdated( integration_type: option.Option(integration.Type), )Arguments
- integration_type
-
Only present if an integration performed the action.
-
MembersPruned(delete_member_days: Int, count: Int) -
MembersMoved(channel_id: String, count: Int) -
MembersDisconnected(count: Int) -
MessagesDeleted(channel_id: String, count: Int) -
MessagesBulkDeleted(count: Int) -
MessagePinned(channel_id: String, message_id: String) -
MessageUnpinned(channel_id: String, message_id: String) -
StageInstanceEntry(channel_id: String) -
ApplicationCommandPermissionUpdated(application_id: String) -
AutoModerationTriggered(rule_name: String, channel_id: String)
pub type EntryType {
GuildUpdate
ChannelCreate
ChannelUpdate
ChannelDelete
ChannelOverwriteCreate
ChannelOverwriteUpdate
ChannelOverwriteDelete
MemberKick
MemberPrune
MemberBanAdd
MemberBanRemove
MemberUpdate
MemberRoleUpdate
MemberMove
MemberDisconnect
BotAdd
RoleCreate
RoleUpdate
RoleDelete
InviteCreate
InviteUpdate
InviteDelete
WebhookCreate
WebhookUpdate
WebhookDelete
EmojiCreate
EmojiUpdate
EmojiDelete
MessageDelete
MessageBulkDelete
MessagePin
MessageUnpin
IntegrationCreate
IntegrationUpdate
IntegrationDelete
StageInstanceCreate
StageInstanceUpdate
StageInstanceDelete
StickerCreate
StickerUpdate
StickerDelete
ScheduledEventCreate
ScheduledEventUpdate
ScheduledEventDelete
ThreadCreate
ThreadUpdate
ThreadDelete
ApplicationCommandPermissionUpdate
SoundboardSoundCreate
SoundboardSoundUpdate
SoundboardSoundDelete
AutoModerationRuleCreate
AutoModerationRuleUpdate
AutoModerationRuleDelete
AutoModerationBlockMessage
AutoModerationFlagToChannel
AutoModerationUserCommunicationDisabled
CreatorMonetizationRequestCreated
CreatorMonetizationTermsAccepted
OnboardingPromptCreate
OnboardingPromptUpdate
OnboardingPromptDelete
OnboardingCreate
OnboardingUpdate
HomeSettingsCreate
HomeSettingsUpdate
}
Constructors
-
GuildUpdate -
ChannelCreate -
ChannelUpdate -
ChannelDelete -
ChannelOverwriteCreate -
ChannelOverwriteUpdate -
ChannelOverwriteDelete -
MemberKick -
MemberPrune -
MemberBanAdd -
MemberBanRemove -
MemberUpdate -
MemberRoleUpdate -
MemberMove -
MemberDisconnect -
BotAdd -
RoleCreate -
RoleUpdate -
RoleDelete -
InviteCreate -
InviteUpdate -
InviteDelete -
WebhookCreate -
WebhookUpdate -
WebhookDelete -
EmojiCreate -
EmojiUpdate -
EmojiDelete -
MessageDelete -
MessageBulkDelete -
MessagePin -
MessageUnpin -
IntegrationCreate -
IntegrationUpdate -
IntegrationDelete -
StageInstanceCreate -
StageInstanceUpdate -
StageInstanceDelete -
StickerCreate -
StickerUpdate -
StickerDelete -
ScheduledEventCreate -
ScheduledEventUpdate -
ScheduledEventDelete -
ThreadCreate -
ThreadUpdate -
ThreadDelete -
ApplicationCommandPermissionUpdate -
SoundboardSoundCreate -
SoundboardSoundUpdate -
SoundboardSoundDelete -
AutoModerationRuleCreate -
AutoModerationRuleUpdate -
AutoModerationRuleDelete -
AutoModerationBlockMessage -
AutoModerationFlagToChannel -
AutoModerationUserCommunicationDisabled -
CreatorMonetizationRequestCreated -
CreatorMonetizationTermsAccepted -
OnboardingPromptCreate -
OnboardingPromptUpdate -
OnboardingPromptDelete -
OnboardingCreate -
OnboardingUpdate -
HomeSettingsCreate -
HomeSettingsUpdate
pub type PartialIntegration {
PartialIntegration(
id: String,
name: String,
type_: String,
account: PartialUser,
application_id: String,
)
}
Constructors
-
PartialIntegration( id: String, name: String, type_: String, account: PartialUser, application_id: String, )
pub type PartialUser {
PartialUser(name: String, id: String)
}
Constructors
-
PartialUser(name: String, id: String)
Values
pub fn get(
client: grom.Client,
for guild_id: String,
with query: set.Set(GetQuery),
) -> Result(AuditLog, grom.Error)