> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brewbot.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Mod logs

> Track moderation actions and server events in a dedicated channel.

Mod logs are available on the **free plan**. They record server events and moderation actions in a channel you choose. Each enabled event posts a color-coded embed with a short summary plus structured fields, so moderators can scan what happened without opening Discord audit logs.

Most events now include **who performed the action** (the actor) by cross-referencing Discord's audit log. This requires the **View Audit Log** permission — check [Permissions](/features/permissions) if actor fields aren't showing.

## Configure mod logs

<Steps>
  <Step title="Open the dashboard">
    Go to the [BrewBot Dashboard](https://brewbot.gg) and select your server.
  </Step>

  <Step title="Navigate to Mod Logs">
    Open the **Mod Logs** page from the sidebar.
  </Step>

  <Step title="Select a log channel">
    Choose the channel where the bot should post log entries. You can also create a new `#mod-logs` channel directly from the dashboard.
  </Step>

  <Step title="Enable logging">
    Turn on the **Mod Logs** toggle.
  </Step>

  <Step title="Choose events to log">
    Enable the event categories you want to track. Each event has its own toggle, so you can keep the log channel focused on what your team actually reviews.
  </Step>
</Steps>

<Tip>
  Enable only the events you care about. Message edits, deletions, and high-churn channel updates can make the log channel noisy if you turn everything on at once.
</Tip>

## Additional settings

* **Ignore bots** — skips events when the affected user is known to be a bot
* **Hide user thumbnails** — removes user avatars from member, message, and voice embeds
* **Diagnostics Channel** — optional feed for skipped events, fallbacks, incomplete event data, and handler errors
* **Ignored channels** — skips message delete and message edit logs for the channels you exclude

## Event reference

Each log entry uses a color to signal what kind of action happened:

* **Green** — joins, creates, unbans, and other positive or additive events
* **Yellow** — edits, updates, moves, and changed settings
* **Red** — leaves, deletes, bans, and removals
* **Blue** — informational events such as invite creation
* **Orange** — reserved for moderation warning-style events

### Member events

<Tabs>
  <Tab title="Member joined">
    Logs when a member joins the server.

    | Field | Value |
    | - | - |
    | **Color** | Green |
    | **Title** | Member Joined |
    | **Summary** | Member mention joined the server |
    | **Details** | Account created timestamp, account age, `New account` vs `Established account`, bot flag, custom avatar flag, invite code + inviter (if trackable), member count |
    | **Footer** | User ID |
  </Tab>

  <Tab title="Member left / kicked">
    Logs when a member leaves or is kicked. The bot checks Discord's audit log to determine if the departure was a kick.

    | Field | Value |
    | - | - |
    | **Color** | Red |
    | **Title** | Member Left — or **Member Kicked** if a kick audit entry is found |
    | **Summary** | Member mention left the server (or was kicked) |
    | **Details** | Kicked by (if kick), kick reason (if kick), server join timestamp, server tenure, account age, top role, role count, truncated role list, member count |
    | **Footer** | User ID |
  </Tab>

  <Tab title="Member banned">
    Logs when a member is banned.

    | Field | Value |
    | - | - |
    | **Color** | Red |
    | **Title** | Member Banned |
    | **Summary** | Member mention was banned |
    | **Details** | Banned by (actor), reason, account created timestamp, account age |
    | **Footer** | User ID |
  </Tab>

  <Tab title="Member unbanned">
    Logs when a member is unbanned.

    | Field | Value |
    | - | - |
    | **Color** | Green |
    | **Title** | Member Unbanned |
    | **Summary** | Member mention was unbanned |
    | **Details** | Unbanned by (actor), account created timestamp, account age |
    | **Footer** | User ID |
  </Tab>

  <Tab title="Nickname changed">
    Logs when a member's nickname changes.

    | Field | Value |
    | - | - |
    | **Color** | Yellow |
    | **Title** | Nickname Changed |
    | **Summary** | Member mention updated their nickname |
    | **Details** | Before nickname, after nickname, current top role, current role count |
    | **Footer** | User ID |
  </Tab>

  <Tab title="Roles changed">
    Logs when a member gains or loses roles.

    | Field | Value |
    | - | - |
    | **Color** | Yellow |
    | **Title** | Member Roles Changed |
    | **Summary** | Member mention had role changes applied |
    | **Details** | Changed by (actor), audit reason, added roles, removed roles, current top role, current role count |
    | **Footer** | User ID |
  </Tab>

  <Tab title="Member timed out">
    Logs when a member is timed out (muted). Controlled by the **Member muted** toggle.

    | Field | Value |
    | - | - |
    | **Color** | Orange |
    | **Title** | Member Timed Out |
    | **Summary** | Member mention was timed out |
    | **Details** | Timed out by (actor), reason, duration, expiry timestamp |
    | **Footer** | User ID |
  </Tab>

  <Tab title="Timeout removed">
    Logs when a member's timeout is removed. Controlled by the **Member unmuted** toggle.

    | Field | Value |
    | - | - |
    | **Color** | Green |
    | **Title** | Timeout Removed |
    | **Summary** | Member mention's timeout was removed |
    | **Details** | Removed by (actor) |
    | **Footer** | User ID |
  </Tab>
</Tabs>

### Message events

<Tabs>
  <Tab title="Message deleted">
    Logs when a message is deleted. Ignored channels are skipped.

    | Field | Value |
    | - | - |
    | **Color** | Red |
    | **Title** | Message Deleted |
    | **Summary** | Message from a user was deleted in a channel |
    | **Details** | Author, deleted by (if a moderator deleted it), channel, original send timestamp, age at deletion, content length, attachment/embed/sticker counts, content preview, attachment names |
    | **Fallbacks** | Attachment-only messages are labeled as such, and uncached partial deletes still log whatever data is available |
    | **Footer** | Message ID |
  </Tab>

  <Tab title="Message updated">
    Logs when a message is edited. Ignored channels are skipped.

    | Field | Value |
    | - | - |
    | **Color** | Yellow |
    | **Title** | Message Edited |
    | **Summary** | Message from a user was edited in a channel |
    | **Details** | Author, channel, original send timestamp, time to edit, content length delta, attachment count, jump link, before preview, after preview |
    | **Fallbacks** | If the previous message content was not cached, the log explicitly says previous content was unavailable |
    | **Footer** | Message ID |
  </Tab>

  <Tab title="Messages bulk deleted">
    Logs when multiple messages are purged at once (e.g. a moderator using a purge command).

    | Field | Value |
    | - | - |
    | **Color** | Red |
    | **Title** | Messages Bulk Deleted |
    | **Summary** | X messages were purged in a channel |
    | **Details** | Purged by (actor), channel, message count, affected authors (up to 10) |
  </Tab>

  <Tab title="Invite posted">
    Logs when a server invite is created.

    | Field | Value |
    | - | - |
    | **Color** | Blue |
    | **Title** | Invite Created |
    | **Summary** | Invite code was created |
    | **Details** | Invite code, target channel, inviter, temporary flag, max uses, current uses when available, max age, expiry |
    | **Footer** | Invite code |
  </Tab>

  <Tab title="Invite deleted">
    Logs when a server invite is deleted.

    | Field | Value |
    | - | - |
    | **Color** | Red |
    | **Title** | Invite Deleted |
    | **Summary** | Invite code was deleted |
    | **Details** | Code, originally created by, channel, total uses |
  </Tab>
</Tabs>

### Role events

<Tabs>
  <Tab title="Role created">
    Logs when a role is created.

    | Field | Value |
    | - | - |
    | **Color** | Role color, with green fallback |
    | **Title** | Role Created |
    | **Summary** | Role mention was created |
    | **Details** | Created by (actor), name, color, position, mentionable, hoisted, managed, permission count, truncated permission list |
    | **Footer** | Role ID |
  </Tab>

  <Tab title="Role updated">
    Logs when a role changes.

    | Field | Value |
    | - | - |
    | **Color** | New role color, with yellow fallback |
    | **Title** | Role Updated |
    | **Summary** | Role mention was updated |
    | **Details** | Updated by (actor), plus only changed properties: name, color, position, hoist, mentionable, managed, added and removed permissions |
    | **Footer** | Role ID |
  </Tab>

  <Tab title="Role deleted">
    Logs when a role is deleted.

    | Field | Value |
    | - | - |
    | **Color** | Red |
    | **Title** | Role Deleted |
    | **Summary** | Role name was deleted |
    | **Details** | Deleted by (actor), name, color, position, mentionable, hoisted, managed, permission count, truncated permission list |
    | **Footer** | Role ID |
  </Tab>
</Tabs>

### Channel events

<Tabs>
  <Tab title="Channel created">
    Logs when a channel is created.

    | Field | Value |
    | - | - |
    | **Color** | Green |
    | **Title** | Channel Created |
    | **Summary** | Channel mention was created |
    | **Details** | Created by (actor), name, type label, category, plus type-specific fields such as topic, slowmode, NSFW, bitrate, or user limit when relevant |
    | **Footer** | Channel ID |
  </Tab>

  <Tab title="Channel updated">
    Logs when a channel changes.

    | Field | Value |
    | - | - |
    | **Color** | Yellow |
    | **Title** | Channel Updated |
    | **Summary** | Channel mention was updated |
    | **Details** | Updated by (actor), type label plus only the changed fields: name, category, topic, slowmode, NSFW, bitrate, and user limit |
    | **Footer** | Channel ID |
  </Tab>

  <Tab title="Channel deleted">
    Logs when a channel is deleted.

    | Field | Value |
    | - | - |
    | **Color** | Red |
    | **Title** | Channel Deleted |
    | **Summary** | Channel name was deleted |
    | **Details** | Deleted by (actor), name, type label, category, plus any relevant text or voice metadata still available on the deleted channel object |
    | **Footer** | Channel ID |
  </Tab>
</Tabs>

### Voice events

<Tabs>
  <Tab title="Joined voice">
    Logs when a member joins a voice channel.

    | Field | Value |
    | - | - |
    | **Color** | Green |
    | **Title** | Joined Voice Channel |
    | **Summary** | Member mention joined a voice channel |
    | **Details** | Channel name, current occupancy, self mute/deaf state, stream state, video state |
    | **Footer** | User ID |
  </Tab>

  <Tab title="Left voice">
    Logs when a member leaves a voice channel.

    | Field | Value |
    | - | - |
    | **Color** | Red |
    | **Title** | Left Voice Channel |
    | **Summary** | Member mention left a voice channel |
    | **Details** | Channel name, current occupancy after leaving, self mute/deaf state, stream state, video state |
    | **Footer** | User ID |
  </Tab>

  <Tab title="Switched voice">
    Logs when a member moves between channels. This fires if either **Member joined voice channel** or **Member left voice channel** is enabled.

    | Field | Value |
    | - | - |
    | **Color** | Yellow |
    | **Title** | Switched Voice Channel |
    | **Summary** | Member mention moved voice channels |
    | **Details** | From channel, to channel, occupancy in both channels, self mute/deaf state, stream state, video state |
    | **Footer** | User ID |
  </Tab>
</Tabs>

### Server events

<Tabs>
  <Tab title="Server edited">
    Logs when server settings change.

    | Field | Value |
    | - | - |
    | **Color** | Yellow |
    | **Title** | Server Updated |
    | **Summary** | Server settings were updated |
    | **Details** | Only changed fields are shown. Changes can include name, icon, banner, verification level, default notifications, AFK channel, and AFK timeout |
    | **Footer** | Server ID |
  </Tab>

  <Tab title="Emoji added">
    Logs when a custom emoji is added. Controlled by the **Emojis updated** toggle.

    | Field | Value |
    | - | - |
    | **Color** | Green |
    | **Title** | Emoji Added |
    | **Summary** | Emoji name was added |
    | **Details** | Name, animated flag, managed flag, available flag |
    | **Thumbnail** | Emoji image |
    | **Footer** | Emoji ID |
  </Tab>

  <Tab title="Emoji removed">
    Logs when a custom emoji is removed. Controlled by the **Emojis updated** toggle.

    | Field | Value |
    | - | - |
    | **Color** | Red |
    | **Title** | Emoji Removed |
    | **Summary** | Emoji name was removed |
    | **Details** | Name, animated flag, managed flag, available flag |
    | **Footer** | Emoji ID |
  </Tab>
</Tabs>

## Default settings

Moderation events such as **Member muted**, **Member unmuted**, **Moderation ban**, and **Moderation unban** are enabled by default in the dashboard configuration. The current event-driven log output described on this page focuses on the handlers already implemented by the bot, while all other toggles start disabled until you opt in.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.