Skip to main content
Bloom can post a record of what happens in your server to channels you choose. Each category has its own channel, so message edits can go to one place and moderation actions to another.
The commands on this page need the Administrator permission.

How it works

All logging is off until you point a category at a channel. From then on, Bloom posts an embed to that channel whenever a matching event happens. Nothing is stored for you to browse later, so treat log channels as the record itself and keep them private. Bloom needs View Channel, Send Messages, and Embed Links in every channel it logs to. When it cannot post, the event is simply not logged.
Message logs contain what people wrote, including messages they deleted. Restrict your log channels to staff.

What each category logs

Type names also accept their plural, and a few have short forms: mods, msg, vc, and guild.
Most entries name who performed the action, which Bloom reads from Discord’s audit log. Give Bloom View Audit Log or entries show what changed without saying who did it.
Messages from bots and webhooks are left out of message logs.

Quick start

1

Make a staff channel

Create a channel only your staff can read, and confirm Bloom can view it, send messages, and embed links.
2

Point a category at it

Run !logs mod #mod-logs. Bloom replies Moderation log channel has been set to #mod-logs and posts a confirmation in that channel, so you can see right away that it can write there.
3

Add the categories you need

Repeat for each category, for example !logs message #message-logs. To send everything to one channel, run !logs all #server-logs.
4

Review the setup

Run !logs with no arguments to list every category that is currently pointed at a channel.

Setting log channels

Administrator
Sets where each category is logged. Aliases: setlogs, logchannel, setlogchannel.
  • !logs shows the valid types and which categories are active.
  • !logs mod #mod-logs sends that category to a channel. The channel can be a mention or its exact name.
  • !logs all #server-logs points every category at one channel.
  • !logs message none turns off one category. !logs all none turns off all of them.
  • Bloom needs: View Channel, Send Messages, Embed Links in the target channel, plus Attach Files to post bulk deletion files.

Join logs, two ways

logs join and logs leave record joins and leaves as separate entries, in separate channels if you want. joinlogs instead keeps one entry per member and rewrites it when they leave, which keeps the arrival and departure of a member together.
Administrator
Posts a single embed when a member joins and edits that same embed when they leave, adding the time they left. Alias: joinlog.Each entry flags accounts younger than seven days, accounts with no avatar, and accounts Discord has marked as spammers.
  • You need: Administrator
  • Bloom needs: View Channel, Send Messages, Embed Links in the target channel.
This is a separate setting from the Join category, so !logs all none does not switch it off. Use !joinlogs off for that. Configuring both means every join is recorded twice.

Leaving things out

Administrator
Excludes a channel from message logs. Edits and deletions there are never posted. Other categories are unaffected. Aliases: ignorelogchannel, logexclude.
  • !logignore add #spam stops logging messages from that channel.
  • !logignore remove #spam starts logging it again. This also accepts a channel ID, so you can clean up entries for channels that no longer exist.
  • !logignore list shows everything currently ignored.
Administrator
Leaves a role out of the role log. Run it again on the same role to undo it.Ignored roles are skipped when a role is edited or deleted, and when members gain or lose that role. Useful for roles that change constantly, such as level rewards or a color role. Role creation is still logged.

Configuring from the dashboard

The Logging module on the dashboard sets the same channels with a picker, and manages the ignored channel and role lists. It needs Administrator, like the commands.

Troubleshooting

Run !logs to confirm the category still points where you expect. If the channel was deleted or renamed, set it again. Then check that Bloom can View Channel, Send Messages, and Embed Links there. Setting a category posts a confirmation into the target channel, so if that message never arrives, the permissions are the problem.
Discord does not always hand over the content of older messages when they are deleted. Bloom fills the gap from its own record where it has one, and otherwise logs the deletion with the author and channel but no text.
Bloom takes the responsible person from Discord’s audit log. Grant it View Audit Log. Some events, such as thread creation, are attributed by Discord differently and may show only a user ID.
Both joinlogs and the Join category are set. Keep the one you prefer and disable the other with !joinlogs off or !logs join none.
Run !logignore add #channel. Edits and deletions in that channel stop being logged, and every other category keeps working.

Invite and first setup

Where logging fits into setting up a new server.

Permissions and hierarchy

Fixing the permission errors that stop Bloom writing to a channel.

Welcome messages

The public greeting for new members, separate from join logs.

Dashboard access

Signing in and controlling who can open the Logging module.