# The log level of terminal (or container) output,
# can be one of DEBUG, INFO, WARN and ERROR, in increasing order of importance and severity.
#
# This should be at INFO or DEBUG in order to get support for Draupnir problems.
logLevel: "INFO"

# Whether or not Draupnir should synchronize policy lists immediately after startup.
# Equivalent to running '!draupnir sync'.
syncOnStartup: true

# Whether or not Draupnir should check moderation permissions in all protected rooms on startup.
# Equivalent to running `!draupnir verify`.
verifyPermissionsOnStartup: true

# Whether Draupnir should check member lists quicker (by using a different endpoint),
# keep in mind that enabling this will miss invited (but not joined) users.
#
# Turn on if your bot is in (very) large rooms, or in large amounts of rooms.
fasterMembershipChecks: false

# A case-insensitive list of ban reasons to have the bot also automatically redact the user's messages for.
#
# If the bot sees you ban a user with a reason that is an (exact case-insensitive) match to this list,
# it will also remove the user's messages automatically.
#
# Typically this is useful to avoid having to give two commands to the bot.
# Advanced: Use asterisks to have the reason match using "globs"
# (f.e. "spam*testing" would match "spam for testing" as well as "spamtesting").
#
# See here for more info: https://www.digitalocean.com/community/tools/glob
# Note: Keep in mind that glob is NOT regex!
automaticallyRedactForReasons:
  - "spam"
  - "advertising"

# Whether or not to add all joined rooms to the "protected rooms" list
# (excluding the management room and watched policy list rooms, see below).
#
# Note that this effectively makes the protectedRooms and associated commands useless
# for regular rooms.
#
# Note: the management room is *excluded* from this condition.
# Explicitly add it as a protected room to protect it.
#
# Note: Ban list rooms the bot is watching but didn't create will not be protected.
# Explicitly add these rooms as a protected room list if you want them protected.
protectAllJoinedRooms: false

# Increase this delay to have Draupnir wait longer between two consecutive backgrounded
# operations. The total duration of operations will be longer, but the homeserver won't
# be affected as much. Conversely, decrease this delay to have Draupnir chain operations
# faster. The total duration of operations will generally be shorter, but the performance
# of the homeserver may be more impacted.
backgroundDelayMS: 500

# Misc options for command handling and commands
commands:
  # Whether or not the `!draupnir` prefix is necessary to submit commands.
  #
  # If `true`, will allow commands like `!ban`, `!help`, etc.
  #
  # Note: Draupnir can also be pinged by display name instead of having to use
  # the !draupnir prefix. For example, "my_moderator_bot: ban @spammer:example.org"
  # will address only my_moderator_bot.
  allowNoPrefix: false

  # Any additional bot prefixes that Draupnir will listen to. i.e. adding `mod` will allow `!mod help`.
  additionalPrefixes:
    - "draupnir-bot"
    - "draupnir_bot"
    - "draupnir"

  # Whether or not commands with a wildcard (*) will require an additional `--force` argument
  # in the command to be able to be submitted.
  confirmWildcardBan: true

  # The default reasons to be prompted with if the reason is missing from a ban command.
  ban:
    defaultReasons: 
      - "spam"
      - "brigading"
      - "harassment"
      - "disagreement"