PolyamGuardian
PolyamGuardian is a bot created by PolyPirates to protect public polyamory and LGBTQ+ Discord servers. It helps communicate ban lists between servers and distinguishes between ordinary banned users and actual trolls and bots.
How it works[edit]
Most of the information about PolyamGuardian is held simple to avoid exploitation. Generally, it checks incoming Discord users' information against an internal database to determine whether or not the user is on any trusted ban list. The results of this check are reported to a channel of choice, typically a "moderator only" channel. PolyamGuardian also marks users as trolls or bots, depending on the description of the ban or via manual marking. PolyamGuardian can also ban people automatically based on the security level or change the reason for a ban by re-banning.
How to use[edit]
PolyamGuardian is a private bot. Due to the nature of its construction and implementation, it will only be shared after a short application process. In order to gain access, please either join the PolyPirates Discord server, or apply via an email to captain @ polypirat.es.
After joining a server, make sure that the bot has all the necessary permissions:
- Seeing and writing to channels for proper communication.
- Banning users, even if the bot is not used for actually banning people. It needs this permission to access previous bans.
Make sure that PolyamGuardian's highest role is above the role of any newcomers if you want to use it for actual banning and changing existing ban reasons. There is no need to keep it above the roles of moderators.
First, set the channel for announcing potential threats using pg!channel #announcement-channel
and make sure that the bot has permission to write there. This should be a channel exclusive to admins and/or moderators since announcements could contain sensitive information. Secondly, use the pg!authorize
command followed by any number of tagged users or roles you want to be mentioned whenever a potential threat is announced.
The prefix pg!
can be changed to any text not containing a whitespace that is between one and five characters long, using pg!prefix
followed by your new prefix, e.g. pg!prefix ??
changes commands like pg!authorize
to ??authorize
. After changing the prefix, the pg!help
command will still work and tell you how to change the prefix again. This step is entirely optional.
Finally, you need to set the security level using pg!security
followed by a number from 0 to 3. The security levels decide how the bot will communicate and act in case of new server members that were noted in one of the bot's other servers. They are explained below, and whenever the pg!security
command is used without a level indicator. The default level is 1.
Security levels[edit]
- Level 0: The bot will only keep track of the ban list but not interact in case of suspicious new members.
- Level 1: If a user joins the server while banned on another of this bot's servers, the bot will announce where they are banned, for which reasons, and what servers have flagged that user to be a troll or bot.
- Level 2: In addition to the level 1 behavior, the bot will also ban people who are flagged as trolls right away and add announce that it also banned that user.
- Level 3: In addition to the level 2 behavior, the bot will also ban everyone who is banned on any of the bot's servers. This level should be used with caution since people are sometimes banned for mundane things that would not be worth banning on another server.
How to handle ban reasons and trolls/bots[edit]
While this bot is on your server, be aware that your ban reasons might be accessed by another server whenever one of your banned users joins another of PolyamGuardian's servers. Therefore you should keep sensitive information out of ban reasons. If you want to change the reason of an already banned user, you can use the pg!reason
command.
PolyamGuardian does not distinguish between trolls and bots. When being added to a server or whenever someone new is banned, the reason is searched for the words "troll" and "bot" and flags those users as such. Therefore, be cautious with adding ban reasons like "not a troll, but" or "might be a bot" since those will create false positives. Banned users can also be flagged manually using the pg!troll
command.
Flagging is meant to be done with caution, so please only use this feature only when being absolutely sure.
List of commands[edit]
All commands can be used by admins, some can be used by authorized members. The prefix pg!
might have been changed for your settings. To see the commands with a changed prefix, pg!help
can still be used.
command | alias | function | can be used by authorized users | example |
---|---|---|---|---|
pg!amongus
|
pg!sus
|
Checks if there's already someone on the server who is banned or flagged somewhere else. Those users will be announced like in security level 1, but not banned even if the server is set to level 2 or 3. This command is meant to be used rarely since it is very resource-heavy and takes some time. All other commands are deactivated until this process is finished. | no | |
pg!authorize
|
pg!auth
|
Lists all authorized users and roles on this server. | no | |
pg!authorize [@user1 [@user2 ...] [@role1 [@role2 ...]]
|
pg!auth
|
Adds any number of mentioned roles and users to the list of authorized users. Those users will be notified by PolyamGuardian whenever it is triggered and can use some of the commands listed here. | no | pg!authorize @TheBoss @moderators
|
pg!channel #channel
|
pg!chan
|
Sets the channel for announcing potential threats to this channel. Make sure that PolyamGuardian has permission to send messages there. | no | pg!channel #mod-discussions
|
pg!deauth [@user1 [@user2 ...] [@role1 [@role2 ...]]
|
pg!remove
|
Removes the mentioned users and roles from the list of authorized users. | no | pg!deauth @Brutus @senate
|
pg!help
|
none | Displays a list of commands, taking into account if a prefix was changed. pg!help will always be available as an alias after changing the prefix.
|
yes | |
pg!prefix newPref
|
pg!pref
|
Changes the current prefix (by default pg!) to a new prefix that is between one and five characters long and does not contain whitespace. | no | pg!prefix p/
|
pg!reason banned_user_id some new reason
|
none | Updates the reason for a ban by unbanning and re-banning a user. If the reason for a ban includes "troll" or "bot", the user will be flagged in the process. Since banned users are difficult to mention, the user ID is used instead. IDs can be gathered from the ban list after enabling Discord's developer mode. | yes | pg!reason 3141592653589793238 put pineapple on pizza
|
pg!security
|
pg!sec
|
Displays information about security levels. | yes | |
pg!security 0-3
|
pg!sec
|
Sets the security level to the chosen value. | no | pg!security 2
|
pg!serverinfo
|
pg!server
|
Displays the chosen settings for this server. | yes | |
pg!troll user_id
|
pg!bot
|
Flags a banned user for being a troll. Since banned users are difficult to mention, the user ID is used instead. IDs can be gathered from the ban list after enabling Discord's developer mode | no | pg!troll 3141592653589793238
|
Trivia and more[edit]
- Since this project is maintained by PolyPirates, you can support it by supporting this wiki.
- This project was born from a collaboration between PolyPirates and the Kitchen Table Germany Discord server and started out by manually exchanging ban lists.
- PolyamGuardian's nickname is Wot.
- Wot is named after a character from an unreleased web comic, which also served for Wot's avatar.