Logging
Sixty events in fifteen categories, a channel per event, and what each entry can tell you.
Logging records what happens in your server: messages edited and deleted, members joining, leaving and being moderated, roles and channels changing, voice activity, giveaways. Every event is switched on separately and sent to its own channel, so you decide exactly what is recorded and where it lands.
The event catalog
There are sixty events, grouped into fifteen categories. The categories are for finding things — on the dashboard each one has All on and All off — but the setting itself belongs to the event: each of the sixty has its own on/off switch, channel and embed color.
| Category | Events |
|---|---|
| Messages (4) | Message deleted, message edited, bulk message delete, first reaction added |
| Members (14) | Joined, left, kicked, banned, unbanned, timeout given, timeout removed, nickname changed, role given, role removed, invite created, invite deleted, moderation command used, server invites |
| Threads (3) | Created, deleted, updated |
| Channels (3) | Created, deleted, updated — permission, slowmode, NSFW and category changes are all reported as an update |
| Roles (3) | Created, deleted, updated — a position change is reported as an update |
| Voice (6) | Joined, left, switched channels, moved by a moderator, disconnected by a moderator, mute and deafen changes |
| Server (1) | Server updated |
| Emojis (3) | Created, updated, deleted |
| Stage (3) | Stage instance created, updated, deleted |
| Stickers (3) | Created, updated, deleted |
| Scheduled Events (3) | Created, updated, deleted |
| Soundboard (3) | Sound created, updated, deleted |
| Auto Moderation (1) | AutoMod rule updated |
| Webhooks (3) | Created, updated, deleted |
| Giveaways (7) | Created, ended early, rerolled, drop, settings updated, chance updated, blacklist updated |
Setting it up
- 01Open Logging on the dashboard
Every event is a tile. Click one to open its settings, or select several — shift-click a range, ctrl- or cmd-click individual tiles, or drag a box — and change them together.
- 02Pick a channel
Picking a channel also turns the event on. An event that is on but has no channel posts nothing. The dashboard refuses to save a channel the bot cannot send messages in, rather than accepting it and staying silent.
- 03Pick a color
Each event has its own embed color, #5865f2 by default. Giving related events the same color makes a shared channel easier to scan.
- 04Or use a command
/log setchannel action:<event> channel:<channel>sends one event to a channel and turns it on. The action name autocompletes. Turning an event off and changing its color are done on the dashboard.
Routing
Because every event has its own channel, splitting is free. Splitting is the difference between a log you read and a log you scroll past.
- Message events are the highest volume by a wide margin. Give them their own channel.
- Bans, kicks and timeouts are rare and the ones you most want to see. A channel that holds only those gets read.
- Voice joins and leaves produce an entry every time a member uses voice. Turn them on only if someone will look at them.
- Everything else can share a channel until it does not.
There are no ignore lists: an event that is on is logged wherever it happens in the server. Epix does skip its own posts in log channels, so a log entry is never reported as an edited message.
What the bot needs
| Permission | Why |
|---|---|
| Manage Webhooks (in the log channel) | Entries are posted through a webhook named Epix Logs, which Epix creates in the channel and reuses for every event sent there. Without it, entries are posted as ordinary bot messages instead. |
| Send Messages, Embed Links | Every entry is an embed. Sending is also the fallback when there is no webhook. |
| View Audit Log | Who did it comes from the audit log. Creations and deletions of channels, roles, emojis, stickers, threads, webhooks, invites, stage instances, scheduled events and soundboard sounds are read from it as well, so without it those events are not logged at all. |
What an entry shows
- The responsible moderator, when the audit log names one, and the reason, when one was given.
- Message edited: before and after, each cut at 1,024 characters, with a link to the message. Only a real edit counts — a link preview loading or a message being pinned is not logged as an edit.
- Message deleted: the text, stickers and attachments. Up to ten attachments of 25 MB or less are re-uploaded with the entry, so they outlive Discord's expiring links.
- Message text comes from Epix's own copy of the message. A message Epix never stored is logged without its text.
- Voice: a member leaving or switching channels is told apart from a moderator disconnecting or moving them.
- Member joins, leaves, kicks and bans show the account's creation date.
Who deleted a message
Discord folds repeated deletions into a single audit log entry, so a deleted message cannot always be pinned on one person. Without Premium, an entry Epix cannot attribute is recorded either as the author deleting their own message or, when a moderator recently deleted that member's messages in the same channel, with both of them listed as suspects. On Premium servers Epix reads the audit log itself and compares the counts to name the moderator.
Commands
| Command | What it does |
|---|---|
/log setchannel | Sends one event to a channel and turns it on. |
/log external-set | Premium. Forwards one event to a Discord webhook URL as well, and turns forwarding on. |
/log external-toggle | Premium. Turns forwarding for one event on or off without removing the URL. |
/log external-clear | Premium. Removes the URL and stops forwarding. |
/log external-status | Shows whether forwarding is on, the redacted URL and when it was set. |
/who | Searches the action history. See below. |
All of them require Manage Server.
External webhooks
On Premium servers, any event can also be copied to a Discord webhook outside your server — a staff server, for example — from the dashboard or with /log external-set. The copy is made only when the event is on and has a channel in your server. Attachments are not forwarded. If five deliveries in a row fail, each within five minutes of the last, Epix turns forwarding off for that event.
Action history and /who
On Premium servers, Epix also keeps a searchable history of moderator actions — bans, kicks, timeouts, nickname and role changes, voice moves and disconnects, server mutes and deafens, deleted messages, changes to channels, threads, roles, webhooks, emojis, stage instances, scheduled events, soundboard sounds and the server itself, and giveaway changes. Records are kept for 30 days. Without Premium nothing is recorded, and /who says so.
- action — the kind of action, with autocomplete (for example ban, timeout or rolegiven). Leave it out to search every kind.
- user, role or id — what the action was done to. id also accepts a custom emoji.
- executor — only actions performed by this member. It is ignored when a target is also given.
Give at least one of them. Results show who did it, to what, when and why, five to a page, covering the 50 most recent matches.
/who action:ban user:@member
/who action:rolegiven user:@member role:@Moderator
/who executor:@moderator