Moderation
Last updated Sep 27, 2026Open in dashboard

Moderation - Variables

Moderation sends its messages from templates you can change: the DMs members receive and the private confirmations moderators see. Open one with Customize template under DM Templates on the Settings tab, Customize Template under Infraction DM Template on the Infractions tab, or from the Templates page, which lists every template.

The Warning DM a member receives after /warn

Which template is used when:

  • Ban DM: /ban, /forceban and /softban. {appeal_url} holds the appeal form link only for /ban and /forceban, and only while the Forms module and its appeal form are enabled; otherwise it is empty, so write the template to read well either way.
  • Kick DM, Timeout DM, Warning DM: /kick, /timeout, /warn, and the same actions taken by thresholds, Automations or in Discord.
  • Infraction DM: when an infraction threshold fires, after the action's own DM.
  • Ban, Kick, Timeout and Warning Confirmation: the private reply the moderator sees.
  • Appeal Denial DM: when staff deny a ban appeal, from the review buttons or the dashboard (see Ban Appeals). A permanent denial gets the Forms module's default message instead.

/mute, /note, the "un" commands and the mass commands send no DM. When Include reason in DM is off, {reason} in a DM reads "Not shared".

In a message template, write a variable in braces, for example {reason} or {server.name}, and add filters with a pipe, for example {reason | upper}.

TemplateSlugVariable groups
Appeal Denial DM@appeals.denial.dmAuthor, Server, Appeal
Ban Confirmation@mod.ban.confirmAuthor, Server, Moderator, Action
Ban DM@mod.ban.dmAuthor, Server, Moderator, Action (Ban DM)
Infraction DM@mod.infraction.dmAuthor, Server, Action (Infraction DM)
Kick Confirmation@mod.kick.confirmAuthor, Server, Moderator, Action
Kick DM@mod.kick.dmAuthor, Server, Moderator, Action
Timeout Confirmation@mod.timeout.confirmAuthor, Server, Moderator, Action
Timeout DM@mod.timeout.dmAuthor, Server, Moderator, Action
Warning Confirmation@mod.warn.confirmAuthor, Server, Moderator, Action
Warning DM@mod.warn.dmAuthor, Server, Moderator, Action

Appeal

VariableDescription
{denial_reason}Appeal denial reason
{ban_reason}Original ban reason
{appeal_url}URL to the ban appeal form (empty if not configured)

Action

VariableDescription
{reason}Action reason
{action}Action name (Ban, Kick, Timeout, Warn)
{case_id}Moderation case number
{case_url}Jump link to the case log entry (empty if no log channel configured)
{duration}Action duration (e.g. 1h30m)
{expires}Discord relative timestamp when action expires

Action (Ban DM)

VariableDescription
{reason}Action reason
{action}Action name (Ban, Kick, Timeout, Warn)
{case_id}Moderation case number
{case_url}Jump link to the case log entry (empty if no log channel configured)
{duration}Action duration (e.g. 1h30m)
{expires}Discord relative timestamp when action expires
{appeal_url}URL to the ban appeal form (empty if not configured)

Action (Infraction DM)

VariableDescription
{reason}Action reason
{action}Action name (Ban, Kick, Timeout, Warn)
{case_id}Moderation case number
{case_url}Jump link to the case log entry (empty if no log channel configured)
{duration}Action duration (e.g. 1h30m)
{expires}Discord relative timestamp when action expires
{points}Current infraction point total
{threshold}Threshold that was reached

The shared groups (Author, Server, Moderator) are listed with the common template variables. Every template also takes the Utility variables.

The shared Author, Server and Moderator variables, and the filters, are listed in the Message Builder guide.