|
|
@ -1,79 +1,79 @@
|
|
|
|
# Endpoint URL that draupnir uses to interact with the matrix homeserver (client-server API),
|
|
|
|
# Endpoint URL that Draupnir uses to interact with the matrix homeserver (client-server API),
|
|
|
|
# set this to the pantalaimon URL if you're using that.
|
|
|
|
# set this to the pantalaimon URL if you're using that.
|
|
|
|
homeserverUrl: "{{ matrix_homeserver_url }}"
|
|
|
|
homeserverUrl: "{{ matrix_homeserver_url }}"
|
|
|
|
|
|
|
|
|
|
|
|
# Endpoint URL that draupnir could use to fetch events related to reports (client-server API and /_synapse/),
|
|
|
|
# Endpoint URL that Draupnir could use to fetch events related to reports (client-server API and /_synapse/),
|
|
|
|
# only set this to the public-internet homeserver client API URL, do NOT set this to the pantalaimon URL.
|
|
|
|
# only set this to the public-internet homeserver client API URL, do NOT set this to the pantalaimon URL.
|
|
|
|
rawHomeserverUrl: "{{ matrix_homeserver_url }}"
|
|
|
|
rawHomeserverUrl: "{{ matrix_homeserver_url }}"
|
|
|
|
|
|
|
|
|
|
|
|
# Matrix Access Token to use, draupnir will only use this if pantalaimon.use is false.
|
|
|
|
# Matrix Access Token to use, Draupnir will only use this if pantalaimon.use is false.
|
|
|
|
accessToken: "{{ matrix_bot_draupnir_access_token }}"
|
|
|
|
accessToken: "{{ matrix_bot_draupnir_access_token }}"
|
|
|
|
|
|
|
|
|
|
|
|
# Options related to Pantalaimon (https://github.com/matrix-org/pantalaimon)
|
|
|
|
# Options related to Pantalaimon (https://github.com/matrix-org/pantalaimon)
|
|
|
|
#pantalaimon:
|
|
|
|
#pantalaimon:
|
|
|
|
# # Whether or not draupnir will use pantalaimon to access the matrix homeserver,
|
|
|
|
# # Whether or not Draupnir will use pantalaimon to access the matrix homeserver,
|
|
|
|
# # set to `true` if you're using pantalaimon.
|
|
|
|
# # set to `true` if you're using pantalaimon.
|
|
|
|
# #
|
|
|
|
# #
|
|
|
|
# # Be sure to point homeserverUrl to the pantalaimon instance.
|
|
|
|
# # Be sure to point homeserverUrl to the pantalaimon instance.
|
|
|
|
# #
|
|
|
|
# #
|
|
|
|
# # draupnir will log in using the given username and password once,
|
|
|
|
# # Draupnir will log in using the given username and password once,
|
|
|
|
# # then store the resulting access token in a file under dataPath.
|
|
|
|
# # then store the resulting access token in a file under dataPath.
|
|
|
|
# use: false
|
|
|
|
# use: false
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# # The username to login with.
|
|
|
|
# # The username to login with.
|
|
|
|
# username: draupnir
|
|
|
|
# username: draupnir
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# # The password draupnir will login with.
|
|
|
|
# # The password Draupnir will login with.
|
|
|
|
# #
|
|
|
|
# #
|
|
|
|
# # After successfully logging in once, this will be ignored, so this value can be blanked after first startup.
|
|
|
|
# # After successfully logging in once, this will be ignored, so this value can be blanked after first startup.
|
|
|
|
# password: your_password
|
|
|
|
# password: your_password
|
|
|
|
|
|
|
|
|
|
|
|
# The path draupnir will store its state/data in, leave default ("/data/storage") when using containers.
|
|
|
|
# The path Draupnir will store its state/data in, leave default ("/data/storage") when using containers.
|
|
|
|
dataPath: "/data"
|
|
|
|
dataPath: "/data"
|
|
|
|
|
|
|
|
|
|
|
|
# If true (the default), draupnir will only accept invites from users present in managementRoom.
|
|
|
|
# If true (the default), Draupnir will only accept invites from users present in managementRoom.
|
|
|
|
autojoinOnlyIfManager: true
|
|
|
|
autojoinOnlyIfManager: true
|
|
|
|
|
|
|
|
|
|
|
|
# If `autojoinOnlyIfManager` is false, only the members in this space can invite
|
|
|
|
# If `autojoinOnlyIfManager` is false, only the members in this space can invite
|
|
|
|
# the bot to new rooms.
|
|
|
|
# the bot to new rooms.
|
|
|
|
#acceptInvitesFromSpace: "!example:example.org"
|
|
|
|
acceptInvitesFromSpace: "!example:example.org"
|
|
|
|
|
|
|
|
|
|
|
|
# Whether draupnir should report ignored invites to the management room (if autojoinOnlyIfManager is true).
|
|
|
|
# Whether Draupnir should report ignored invites to the management room (if autojoinOnlyIfManager is true).
|
|
|
|
recordIgnoredInvites: false
|
|
|
|
recordIgnoredInvites: false
|
|
|
|
|
|
|
|
|
|
|
|
# The room ID (or room alias) of the management room, anyone in this room can issue commands to draupnir.
|
|
|
|
# The room ID (or room alias) of the management room, anyone in this room can issue commands to Draupnir.
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# draupnir has no more granular access controls other than this, be sure you trust everyone in this room - secure it!
|
|
|
|
# Draupnir has no more granular access controls other than this, be sure you trust everyone in this room - secure it!
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# This should be a room alias or room ID - not a matrix.to URL.
|
|
|
|
# This should be a room alias or room ID - not a matrix.to URL.
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# Note: By default, draupnir is fairly verbose - expect a lot of messages in this room.
|
|
|
|
# Note: By default, Draupnir is fairly verbose - expect a lot of messages in this room.
|
|
|
|
# (see verboseLogging to adjust this a bit.)
|
|
|
|
# (see verboseLogging to adjust this a bit.)
|
|
|
|
managementRoom: "{{ matrix_bot_draupnir_management_room }}"
|
|
|
|
managementRoom: "#moderators:example.org"
|
|
|
|
|
|
|
|
|
|
|
|
# Whether draupnir should log a lot more messages in the room,
|
|
|
|
# Whether Draupnir should log a lot more messages in the room,
|
|
|
|
# mainly involves "all-OK" messages, and debugging messages for when draupnir checks bans in a room.
|
|
|
|
# mainly involves "all-OK" messages, and debugging messages for when Draupnir checks bans in a room.
|
|
|
|
verboseLogging: false
|
|
|
|
verboseLogging: true
|
|
|
|
|
|
|
|
|
|
|
|
# The log level of terminal (or container) output,
|
|
|
|
# The log level of terminal (or container) output,
|
|
|
|
# can be one of DEBUG, INFO, WARN and ERROR, in increasing order of importance and severity.
|
|
|
|
# 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.
|
|
|
|
# This should be at INFO or DEBUG in order to get support for Draupnir problems.
|
|
|
|
logLevel: "INFO"
|
|
|
|
logLevel: "INFO"
|
|
|
|
|
|
|
|
|
|
|
|
# Whether or not draupnir should synchronize policy lists immediately after startup.
|
|
|
|
# Whether or not Draupnir should synchronize policy lists immediately after startup.
|
|
|
|
# Equivalent to running '!draupnir sync'.
|
|
|
|
# Equivalent to running '!draupnir sync'.
|
|
|
|
syncOnStartup: true
|
|
|
|
syncOnStartup: true
|
|
|
|
|
|
|
|
|
|
|
|
# Whether or not draupnir should check moderation permissions in all protected rooms on startup.
|
|
|
|
# Whether or not Draupnir should check moderation permissions in all protected rooms on startup.
|
|
|
|
# Equivalent to running `!draupnir verify`.
|
|
|
|
# Equivalent to running `!draupnir verify`.
|
|
|
|
verifyPermissionsOnStartup: true
|
|
|
|
verifyPermissionsOnStartup: true
|
|
|
|
|
|
|
|
|
|
|
|
# Whether or not draupnir should actually apply bans and policy lists,
|
|
|
|
# Whether or not Draupnir should actually apply bans and policy lists,
|
|
|
|
# turn on to trial some untrusted configuration or lists.
|
|
|
|
# turn on to trial some untrusted configuration or lists.
|
|
|
|
noop: false
|
|
|
|
noop: false
|
|
|
|
|
|
|
|
|
|
|
|
# Whether draupnir should check member lists quicker (by using a different endpoint),
|
|
|
|
# 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.
|
|
|
|
# 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.
|
|
|
|
# Turn on if your bot is in (very) large rooms, or in large amounts of rooms.
|
|
|
@ -94,7 +94,7 @@ automaticallyRedactForReasons:
|
|
|
|
- "spam"
|
|
|
|
- "spam"
|
|
|
|
- "advertising"
|
|
|
|
- "advertising"
|
|
|
|
|
|
|
|
|
|
|
|
# A list of rooms to protect. draupnir will add this to the list it knows from its account data.
|
|
|
|
# A list of rooms to protect. Draupnir will add this to the list it knows from its account data.
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# It won't, however, add it to the account data.
|
|
|
|
# It won't, however, add it to the account data.
|
|
|
|
# Manually add the room via '!draupnir rooms add' to have it stay protected regardless if this config value changes.
|
|
|
|
# Manually add the room via '!draupnir rooms add' to have it stay protected regardless if this config value changes.
|
|
|
@ -116,21 +116,21 @@ automaticallyRedactForReasons:
|
|
|
|
# Explicitly add these rooms as a protected room list if you want them protected.
|
|
|
|
# Explicitly add these rooms as a protected room list if you want them protected.
|
|
|
|
protectAllJoinedRooms: false
|
|
|
|
protectAllJoinedRooms: false
|
|
|
|
|
|
|
|
|
|
|
|
# Increase this delay to have Mjölnir wait longer between two consecutive backgrounded
|
|
|
|
# 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
|
|
|
|
# operations. The total duration of operations will be longer, but the homeserver won't
|
|
|
|
# be affected as much. Conversely, decrease this delay to have Mjölnir chain operations
|
|
|
|
# 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
|
|
|
|
# faster. The total duration of operations will generally be shorter, but the performance
|
|
|
|
# of the homeserver may be more impacted.
|
|
|
|
# of the homeserver may be more impacted.
|
|
|
|
backgroundDelayMS: 500
|
|
|
|
backgroundDelayMS: 500
|
|
|
|
|
|
|
|
|
|
|
|
# Server administration commands, these commands will only work if draupnir is
|
|
|
|
# Server administration commands, these commands will only work if Draupnir is
|
|
|
|
# a global server administrator, and the bot's server is a Synapse instance.
|
|
|
|
# a global server administrator, and the bot's server is a Synapse instance.
|
|
|
|
#admin:
|
|
|
|
admin:
|
|
|
|
# # Whether or not draupnir can temporarily take control of any eligible account from the local homeserver who's in the room
|
|
|
|
# Whether or not Draupnir can temporarily take control of any eligible account from the local homeserver who's in the room
|
|
|
|
# # (with enough permissions) to "make" a user an admin.
|
|
|
|
# (with enough permissions) to "make" a user an admin.
|
|
|
|
# #
|
|
|
|
#
|
|
|
|
# # This only works if a local user with enough admin permissions is present in the room.
|
|
|
|
# This only works if a local user with enough admin permissions is present in the room.
|
|
|
|
# enableMakeRoomAdminCommand: false
|
|
|
|
enableMakeRoomAdminCommand: true
|
|
|
|
|
|
|
|
|
|
|
|
# Misc options for command handling and commands
|
|
|
|
# Misc options for command handling and commands
|
|
|
|
commands:
|
|
|
|
commands:
|
|
|
@ -138,20 +138,28 @@ commands:
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# If `true`, will allow commands like `!ban`, `!help`, etc.
|
|
|
|
# If `true`, will allow commands like `!ban`, `!help`, etc.
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# Note: draupnir can also be pinged by display name instead of having to use
|
|
|
|
# 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"
|
|
|
|
# the !draupnir prefix. For example, "my_moderator_bot: ban @spammer:example.org"
|
|
|
|
# will address only my_moderator_bot.
|
|
|
|
# will address only my_moderator_bot.
|
|
|
|
allowNoPrefix: false
|
|
|
|
allowNoPrefix: false
|
|
|
|
|
|
|
|
|
|
|
|
# Any additional bot prefixes that draupnir will listen to. i.e. adding `mod` will allow `!mod help`.
|
|
|
|
# Any additional bot prefixes that Draupnir will listen to. i.e. adding `mod` will allow `!mod help`.
|
|
|
|
additionalPrefixes:
|
|
|
|
additionalPrefixes:
|
|
|
|
- "draupnir_bot"
|
|
|
|
- "draupnir-bot"
|
|
|
|
- "draupnir"
|
|
|
|
- "draupnir"
|
|
|
|
|
|
|
|
|
|
|
|
# Whether or not commands with a wildcard (*) will require an additional `--force` argument
|
|
|
|
# Whether or not commands with a wildcard (*) will require an additional `--force` argument
|
|
|
|
# in the command to be able to be submitted.
|
|
|
|
# in the command to be able to be submitted.
|
|
|
|
confirmWildcardBan: true
|
|
|
|
confirmWildcardBan: true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# The default reasons to be prompted with if the reason is missing from a ban command.
|
|
|
|
|
|
|
|
ban:
|
|
|
|
|
|
|
|
defaultReasons:
|
|
|
|
|
|
|
|
- "spam"
|
|
|
|
|
|
|
|
- "brigading"
|
|
|
|
|
|
|
|
- "harassment"
|
|
|
|
|
|
|
|
- "disagreement"
|
|
|
|
|
|
|
|
|
|
|
|
# Configuration specific to certain toggle-able protections
|
|
|
|
# Configuration specific to certain toggle-able protections
|
|
|
|
#protections:
|
|
|
|
#protections:
|
|
|
|
# # Configuration for the wordlist plugin, which can ban users based if they say certain
|
|
|
|
# # Configuration for the wordlist plugin, which can ban users based if they say certain
|
|
|
|