Files
Advanced-Community-Bot/base-config.yaml
T
2024-10-19 16:48:37 -07:00

115 lines
4.7 KiB
YAML

# the room-id of the matrix room or space to use as your "full user list"
parent_room: "!somerandomcharacters:server.tld"
# sleep time between actions. you can drop this to 0 if your bot has no
# ratelimits imposed on its homeserver, otherwise you may want to increase this
# to avoid errors.
sleep: 1
# whether to encrypt rooms when using the room creation commands
encrypt: False
# number of days of inactivity to be considered in the "warning zone"
warn_threshold_days: 30
# number of days of inactivity to be considered in the "danger zone"
kick_threshold_days: 60
# track users? if false, will disable all tracking and avoid writing anything to the database.
track_users: True
# track messages? if false, will not track user activity timestamps. enable if you'd like to track
# inactive users in your community
track_messages: True
# track reactions? if false, will only track activity based on normal message events, but if true
# will update the user's last-active date when they add a reaction to a message
track_reactions: True
# list of users who can use administrative commands. these users will also be made room admins (PL100)
admins:
- '@user1:server.tld'
- '@user2:server.tld'
# list of users who should be considered community moderators. these users will be made room mods (PL50)
moderators:
- '@user3:server.tld'
- '@user4:server.tld'
# list of users who should be invited to new rooms immediately (other bots perhaps)
invitees:
- "@mybot:server.tld"
- "@secondaryadmin:server.tld"
# auto-greet users in rooms with these messages
# map greeting messages to a room
# you can use {user} to reference the joining user in this message using a
# matrix.to link (rendered as a "pill" in element clients)
# html formatting is supported
# set to {} if you don't care about greetings
greetings:
generic: |
Welcome {user}! Please be sure to read the topic for helpful links and information.
Use <a href="https://google.com">Google</a> for all other queries ;)
encrypted: |
welcome {user}, this is an encrypted room, so you may not be able to see messages previously sent here. don't be
alarmed.
# which of the above greetings should be used in which rooms? use the exact name of each greeting
# you've assigned, e.g. 'generic' or 'encrypted'. you must use the room ID here.
# enter 'none' to avoid sending a message, but still be notified in the notification_room listed below.
# set to {} if you don't care about greetings or join notifications
greeting_rooms:
'!someroomid:server.tld': generic
'!someotherroom:server.tld': generic
'!myencryptedroomid:server.tld': encrypted
# how long to wait (in seconds) before sending a greeting to a new
welcome_sleep: 0
# add a room ID here to send a message to when someone joins the above rooms
# (optional)
notification_room:
# message to send to the notification room when someone joins one of the above rooms:
join_notification_message: |
User <code>{user}</code> has joined <code>{room}</code>.
# whether to censor files/messages
# can be boolean (true/false) for all-or-nothing behavior,
# or pass a list of room IDs to only censor certain rooms. this may be helpful
# if certain rooms are publicly facing while others are more trustworthy.
# this bot, bot admins and bot moderators are immune to censorship.
censor: false
# if censoring content, what minimum Power Level is required to not be censored?
# this allows easy permission of trusted users in a room to post images or files on demand.
# rooms usually default to 0 power level for normal users.
uncensor_pl: 1
# whether to redact file and image uploads. this will apply to all rooms defined
# in the censor variable (either boolean or a list of room IDs).
censor_files: true
# what words should trigger message redaction if censorship is enabled?
censor_wordlist:
- 'effword'
- 'essword'
# using one of these words results in redaction AND an instant ban. use with EXTREME caution. wordlist pattern matching can have
# unintended consequences! set to an empty list [] to avoid using.
censor_wordlist_instaban: []
# list of banlists that should be subscribed to, such as #community-moderation-effort-bl:neko.dev
# when users join any room managed by this bot, they are compared against these existing banlists
# if found, they will immediately be banned.
# your bot MUST be in the banlist room already!
banlists:
- '#community-moderation-effort-bl:neko.dev'
# should we ban proactively? this will generate ban events across all rooms every time
# the ban lists have a new policy added, which may be noisy. however, without this enabled,
# an account may join your rooms, THEN get added to the banlist, and you will have to manually
# ban them from your rooms.
proactive_banning: true