Skip to main content

How logs are delivered

Quark posts logs through a webhook that it creates in each log channel. That is why it needs Manage Webhooks there. Logs appear under the name Quark, Quark Pro Lite or Quark Pro, depending on your server’s plan. With Pro Lite or Pro you can choose a name and avatar of your own on the dashboard: see name and avatar. If the webhook or the log channel is deleted, logs to that channel stop. After five failed attempts in a row, Quark clears the channel from your configuration, so the setting looks empty. Choose a channel again on the dashboard, or run /troubleshoot and press Register webhook. A channel set for a single log type is not cleared automatically. If Quark only loses a permission, nothing is cleared. Logs resume when the permission is back.

Message age

To show what a deleted or edited message said, Quark has to have stored the message when it was sent. What happens with an older message:
  • Deleted: the log is sent without the content or the author. On the free plan and Pro Lite, the log says the content is available with Quark Pro. You can turn that notice off under Logging → Other → Pro upsell logs. With it off, a deleted message that is too old produces no log at all.
  • Edited: the log shows the author and the new text, but not what the message said before.
  • Older than 30 days: a deletion is not logged on any plan.
How long a message is kept is decided when it is sent. Upgrading does not bring back messages that were stored under the 12-hour limit. Quark cannot show messages that were sent before it joined, or in channels it could not see.

Edited embeds

A bot that edits the embeds on its own message, such as a now-playing card or a giveaway’s countdown, produces a Message Edited log that says what changed: an embed added or removed, or its title, description, link, colour, author, footer, image, thumbnail or a field. If the text changed as well, the log shows both.
  • Only a bot’s own embeds count. A member’s embeds are link previews, so a link unfurling, or being hidden, is not an edit and is not logged. A link in a bot’s own message getting its preview is not an edit either. An edit that changes the text is logged as before, whether or not its embeds change. A file taken off a bot’s message is logged as a removed file, as it always was, even when an embed changed in the same edit.
  • A bot’s embed-only edits are logged at most once per message every five minutes. The first says the message is being edited; the ones that follow inside those five minutes are not logged. An edit to the text is always logged.
  • The old rule that dropped an edit when the number of embeds changed is gone.

Forum and media channel settings

Channel Updated says when the settings of a forum or media channel change: its guidelines, a tag renamed or given another emoji or made moderators-only, the default reaction, the post slowmode, the sort order, the default layout, whether a tag is required, and how long before a post is hidden for inactivity. They are part of Channel Updated, not log types of their own. An update whose changes the log has no words for, such as a flag Discord added, is not sent.

Forwarded messages and command replies

When a deleted message was a forward, the log shows what it carried: its text, files, stickers and embeds, “Forwarded from” and the channel, or “another server”, with a link to the original where Discord gave one, and when the original was sent and edited. Single and bulk deletes both show this, and the log viewer keeps it. When a deleted message was a bot’s answer to a slash command, the log adds Command run by, the member and the command, such as /ban. For an answer to a button, a menu or a form, it says Triggered by and the member.

Actions by bots

These log types are always sent, on every plan, whoever did them: member joins and leaves, bots added and removed, bulk message deletes, and bans, unbans, kicks, timeouts and timeouts removed. An action a moderator takes through Wick, YAGPDB, Sapphire or ProBot counts as the moderator’s, not the bot’s. It is logged on the free plan, and on a paid plan it is logged even when Actions by bots is on. An action taken through any other bot, apart from Quark’s own commands, counts as the bot’s, even when that bot’s audit log reason puts a moderator’s name on the log. See bot integrations.

Who did it

Discord does not tell a bot who performed most actions. Quark finds out from the server’s audit log, which needs the View Audit Log permission. Without it, many log types are not sent at all and others lose the moderator. See permissions.
  • When a moderator acted through Wick, YAGPDB, Sapphire or ProBot, the log names the moderator and adds which bot was used, for example “using Sapphire#8184”. This applies to every log built from the audit log, apart from single deleted messages and voice moves, disconnects, mutes and deafens. See bot integrations.
  • A deleted message shows Deleted by when someone other than the author deleted it. If a bot deleted it for a moderator, this shows the bot.
  • Soundboard and AutoMod rule logs are sent either way, but only say who made the change if Quark can read the audit log.
  • Message Pinned and Message Unpinned only say who pinned or unpinned the message when the audit log says. Without View Audit Log they are only sent for a message Quark had stored.
  • A voice move or disconnect done by a moderator is logged as Moved or Disconnected. If the member did it themselves, it is Changed Channel or Left Channel. If a bot did it for a moderator, these show the bot.
  • Server mutes and deafens show the moderator on Quark Pro only.

Bundling

Voice events and reaction removals often come in bursts. When several happen close together, Quark sends one log instead of many: Multiple Voice Channel Events or Multiple Reactions Removed. A single event on its own is logged as normal. Several thread joins and leaves at the same moment are sent together as Multiple Thread Member Events. If that log type is switched off or has no channel, each join and leave is sent on its own instead. Automation rules that watch the individual log types run for each event in a bundle.

Closed and locked threads

Thread Closed, Thread Reopened, Thread Locked and Thread Unlocked are sent when someone closes, reopens, locks or unlocks a thread or a forum post. They are built from the audit log, so a thread Discord closes by itself for inactivity, or reopens because someone posted in it, is not logged. Each of the four says one thing only. Discord’s Close and lock closes and locks in one action, so it sends two logs: Thread Closed, then Thread Locked. Switch either one off and you still get the other. Every other change to a thread is a Thread Updated log: its name, slowmode, auto-archive duration, tags, whether it is pinned and whether members can invite. A change like that made in the same action as a close or a lock is sent as its own Thread Updated log. These four used to be part of Thread Updated. An automation rule that names Thread Updated no longer runs for them: add the new log types to the rule. A rule that watches the whole Messages category is not affected.

Time in voice

Some voice logs say how long something lasted.
  • A session spent in one channel has no list. The Joined line already says how long it lasted.
  • A leave log lists up to ten channels. With more, some are replaced by a count, such as ”… +3”, and the last channel is always shown.
  • A list that starts with ”…” is partial: Quark did not see the start of the session, or a channel was left out.
  • Channels on your ignore rules, and channels in ignored categories, are left out of the list.
  • Stays shorter than two seconds are not listed.
  • If Quark did not see the stream start, there is no Streamed for line.
  • In a bundled log, each event shows its most recent channels on one line, where there is room.

Boosts

Server Boosted and Server Boost Removed are sent once for each boost and name the member. The log says “Someone” when Discord does not say who it was: a member who is already boosting adds another boost while the server’s boost messages are switched off, or a member removes one of several boosts.

Deleted files

Quark keeps a copy of each file posted in your server for a short time, so that it can re-post the file if the message is deleted. See data for how long.
  • Very large files cannot be re-posted. The cut-off rises with your server’s boost level.
  • With Spoilers switched on, re-posted files are marked as spoilers.
  • Bulk deletes attach a text file listing the deleted messages. For a message from a bot or a webhook, and any message with no text of its own, the file writes out what each embed said.

Rate limits

Discord limits how many messages can be posted to one channel in a given time. If your server produces logs faster than that:
  • The dashboard’s Channels tab shows a warning naming the channel.
  • If it goes on, Quark pauses the busiest log type in that channel so the others keep arriving. It resumes on its own when the channel is quieter.
The limit is per channel. Moving one or two categories to their own channels is the fix. A short burst does not lose logs. When a channel is over its limit, the logs that would not fit wait in a queue for that channel and are posted, in order, as the limit allows. A queue holds up to six hours of logs; past that, or when the queue is full, the busiest log type is paused as above. A log that had to be retried is normally posted once, not twice. On a busy channel, logs that arrive at almost the same moment can be posted together as one message. A modlog that shares its message with another log is posted without its Edit Reason and Lock buttons, so its reason cannot be edited or locked. See modlog reasons. A log with an action button is never posted together with another. It goes out by itself.

Language

Logs are written in your server’s language. See languages.

Your settings changes are logged too

Changing a log channel, the ignore rules, a logging option, a log format, an automation rule, a tag, an API token or dashboard access produces a log in the Quark Events category, with who made the change. A Dashboard Access Changed log names the preset and each permission that was given. Changes to one log type produce a Log Updated log: switching it on or off, setting a channel of its own, changing its colour, and its bot and Active Ignore switches. Three things are not logged: taking a log type’s own channel away, Follow the server’s format, and any of these changes while Log Updated itself is switched off, which includes switching it off. A change made by someone on your Who did it ignore list is not logged either. Active Ignore requests are recorded there too.