Skip to main content

Moderation bots

When a moderator does something through another bot, Discord’s audit log records the bot as the one who did it. Quark reads the reason the bot left in the audit log, finds the moderator who gave the command, and shows them as the one who did it. The log also says which bot was used, after the moderator’s name: “using Sapphire#8184”. Quark reads the reasons written by: There is nothing to switch on, and it works on every plan.

What this changes about which logs you get

An action a moderator takes through one of these bots is treated as the moderator’s action, not the bot’s. So it is logged on the free plan, and on a paid plan it is logged even when Actions by bots is on. See actions by bots. Your ignore rules apply to the moderator. If the bot itself, or one of its roles, is under Who did it or Roles that did it, actions taken through it are still left out. Modlogs are the exception: a ban, kick or timeout a moderator made through an ignored bot is still logged.

Your own bot

Any bot can have the moderator shown on its logs. When your bot does something for a moderator, start the audit log reason with the moderator’s user ID in square brackets:
Quark shows that member as the one who did it, says which bot was used, and removes the prefix from the reason. Showing the name is all the prefix does. Quark cannot check what another bot wrote, so everything else treats the action as the bot’s: Quark’s own /ban, /kick and /mute commands use the same convention. Quark does trust its own commands, so those count as the moderator’s actions, as actions through the four bots above do.
The name shown is whatever the bot wrote. If your bot copies a moderator’s own text to the start of the audit log reason, a moderator can put someone else’s ID there, and that person is shown on the log and in the log viewer, with the bot’s name beside theirs. Have your bot write the prefix itself.
To change Quark’s configuration or read logs from your bot, see the API reference.

PluralKit

PluralKit deletes a member’s message and re-posts it through a webhook. Without help, every proxied message produces a Message Deleted log. Turn on Logging → Other → PluralKit Compatibility and Quark checks with PluralKit whenever a message is deleted within 10 seconds of being sent and no moderator deleted it. If PluralKit says it proxied that message, the Message Deleted log is skipped.
  • It is off by default and free on every plan.
  • When it is on, Quark sends the ID of the deleted message to PluralKit’s API to make the check. Nothing else is sent.
  • It only affects that one log. Other logs are unchanged.

Other bots

Actions by other bots follow the bot rules: not logged on the free plan, and optional on Pro Lite and Quark Pro. See actions by bots. Want Quark to work with your service? Ask in the support server.