Keep Discord message changes and moderation actions visible
'Who took that action?' should not be a mystery. The Logging module writes message changes, joins and leaves to a channel you choose. Its Moderator actions option also records bans, unbans, confirmed kicks, timeouts, member role and nickname changes, and channel creation or deletion with the moderator when Discord records a matching action.
Start freeNo credit card · Free forever plan · Online 24/7
Pick exactly which events to track so the log stays readable, and let the bot do the bookkeeping. Logging is one of the 17 free-forever modules — hosted bot, zero code, running in about a minute. Start free. Pro is $9.99/month.
What you get
Core events, one channel
Message edits and deletes, plus joins and leaves, are recorded in one channel.
Pick what you track
Enable only the events you care about to keep the log channel readable.
Moderator actions
An optional Audit Log lookup records moderation actions with the moderator when Discord has a matching entry; otherwise it says moderator unknown.
Pro deleted-message archive
Opt in per server to retain observed deleted-message text across restarts for up to seven days. Search one source channel privately or export a page of matching records as JSON.
What it needs
- The bot needs View Channel, Send Messages and Embed Links in the Audit Log Channel. Moderator actions and deleted-message attribution use the server-wide View Audit Log permission. It uses Server Members Intent for member changes and Message Content Intent for message logging.
- People using the Discord setup and configuration commands need Manage Server.
- The archive requires Pro to enable, search, view status or export. Manage Server is required for every archive action. Search and export also check your current View Channel and Read Message History permissions in the chosen source channel. Text and announcement channels only; deleted channels and threads cannot be queried.
Setting it up
- Open Logging in your bot’s module settings and select an Audit Log Channel. The picker only offers text and announcement channels.
- Choose a Quick Preset (Minimal, Standard or Comprehensive), or turn on the individual event settings you want under Messages, Members, Moderation, Server and Voice. Turn on Moderator actions and choose its channel; it starts with the Audit Log Channel. New bots enable it by default; existing bots keep it off until you opt in.
- Use the Events Enabled and Voice Logs status chips to confirm that the events you expect are enabled, then run !testlog to send a test embed to the selected channel.
- After generating or regenerating a Pro bot with Logging selected, enable Message Deletions (and optionally Bulk Deletions) and choose a log channel. In Discord, run /log archive action:on for each server you want to opt in. This is a separate Discord-only setting; saving dashboard logging settings does not enable it. Use action:status to check it.
Example
With Moderator actions enabled, banning Maya posts a Member Banned embed with User: @Maya and Moderator: @Alex when a recent matching Discord audit entry exists. If Discord does not record a matching actor, the field says Moderator unknown. A member leave is called a kick only when a recent matching kick entry exists. Attachments are included in message-delete logs when the message was cached.
Limits and troubleshooting
Limits
- Every event toggle is off by default, so the module logs only the event types you enable.
- Bot-authored messages and direct messages are not logged. The message cache keeps the latest 1,000 messages; a delete or edit outside that cache can show Content not cached.
- Each before, after, content or attachments field in a message log is capped at 1,024 characters. Duplicate events with the same type and target are skipped for five seconds.
- Moderator attribution is best-effort: if no recent matching audit entry exists, a moderator action says Moderator unknown. A member leave is never labelled a kick without a matching kick entry.
- The archive is off for new and existing servers until a manager enables it in Discord. Only future observed deletion events are saved. There is no old-message fetch, offline backfill, attachment storage, edit history or extra actor attribution in the archive.
- Archive records are retained for up to seven days, up to 1,000 per server and 10,000 across the bot. The oldest records are evicted first; busy servers can reach capacity before seven days. Expired records are pruned on archive access and by minute maintenance while the bot runs. Restarted bots prune before archive access; expiry cleanup pauses while offline.
- Each archived message stores IDs, the observed deletion time and up to 4,000 text characters. JSON content_source labels text supplied with the deletion event, an earlier message-cache snapshot or unavailable content. A cached snapshot can predate an edit; unavailable text is not recovered after restart. No deletion actor is inferred.
- Search shows five previews per page, capped at 100 characters each, without mentions or message formatting. JSON exports include up to 100 full saved records per page. Page numbers run from 1 to 200; pages are live snapshots and can shift as records arrive or expire. Keep downloaded files private.
- Disabling the archive stops capture and erases its saved records for that server. Clear erases records while preserving the opt-in. Neither action removes posted Discord logs or downloaded files. Regenerating without Logging stops commands and maintenance; unexpired local records can be accessed again only after the module is restored with Pro and the relevant permissions.
If it doesn’t work
- No entries arrive: select an Audit Log Channel and enable the matching event toggle. Output stays disabled until a channel is selected.
- A join, leave, edit or delete is missing: enable Server Members Intent and Message Content Intent in the Discord Developer Portal, then make sure the matching event toggle is on.
- The bot cannot post a log: give it View Channel, Send Messages and Embed Links in the Audit Log Channel.
- Moderator is unknown: turn on Moderator actions and grant the bot View Audit Log at the server level. Discord can omit an audit entry, and the module does not guess.
- No archive results: confirm Pro, run /log archive action:status, and check the deletion event toggle and log channel. Select the source channel, not the log channel. Only deletions observed after opting in are eligible; missing text, expiry and capacity can reduce results.
Example commands
| Command | What it does |
|---|---|
!logchannel #server-log | Choose the channel that receives log entries. |
!logtoggle memberjoin on | Turn a logging event on or off. |
!logs | View the logging configuration dashboard. Manage Server required. |
/log archive action:on | Pro: opt this server in to future observed deletion records. Message Deletions (or Pro Bulk Deletions) and a log channel must also be enabled. Manage Server required. |
/log archive action:search channel:#general query:hello | Privately find literal text in one current source channel. ASCII case-insensitive; query is optional. Five previews per page; add page:2 for the next page. |
/log archive action:export channel:#general | Pro: privately download up to 100 matching records per page as JSON. Optional query and page. The same Manage Server and current source-channel access checks apply. |
/log archive action:status | Pro: see whether this server opted in and how many records remain. No message text is included. |
/log archive action:off confirm:true | Stop capture and erase this server’s saved archive. Use action:clear confirm:true to erase without disabling. These cleanup actions also work after a downgrade. Posted logs and downloaded exports remain. |
Full command list and configuration options in the Logging documentation.
What does it cost?
Logging is free forever — it is one of the 17 stock modules included with the free plan.
- 1 hosted bot, online 24/7
- 17 free-forever modules
- 10 custom commands
- No credit card required
- 3 bots
- All 45 modules
- AI Module Builder (50 credits/mo)
Frequently asked questions
How long does logging take to set up?
Choose a log channel and enable the events you need in the dashboard or with !logsetup. Run !testlog to check delivery. Pro managers can separately enable the deleted-message archive per server with /log archive action:on; it starts off.
Is the logging bot free?
Core Logging is a Free module. The optional deleted-message archive requires Pro; it does not change Free logging or turn itself on when you upgrade.
Do I need any technical setup?
No code, no webhooks, no self-hosting. Choose logging settings in the dashboard or Discord. The optional Pro archive uses your generated bot’s own database. It does not recover uncached message text or every deleted message.
Related modules
Add Logging to your server today
Create your bot, toggle the module on, and it's live — hosted for you, no code, no downloads.
Start freeNo credit card · Free forever plan · Online 24/7
