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

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

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

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 GetQuery {
  UserId(String)
  EntryType(EntryType)
  BeforeId(String)
  AfterId(String)
  Limit(Int)
}

Constructors

  • UserId(String)
  • EntryType(EntryType)
  • BeforeId(String)
  • AfterId(String)
  • Limit(Int)
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)
Search Document