Verification and server management bot for UNSW lo-fi society's Discord server.
Seba can also optionally use a MySQL database to access to members' information directly from Discord, even if their Discord username has since changed from when they first verified. See instructions in the database directory if you want to enable this.
Main features:
- Welcomes new members in dedicated welcome channel when they join the server
- Command for members to verify using a code emailed by this google script and updates their roles
- Commands to show, hide, and archive categories to easily manage categories for Discord events
- Command to move all members from one voice channel to another
Optional extra features - disabled unless extraConfig.json
exists:
- "Late Nights" category which can only be accessed during a specific time period
Download the source code from the latest release.
You can run this bot in Docker on a Linux server with the start
script.
$ ./start
Alternatively, you can manually install dependencies and run it. This bot requires Node.js 12.x or higher to run.
$ npm install
$ npm start
On Discord, the bot requires permissions integer 285281296
and privileged gateway intents presence intent
and server members intent
.
Copy config.json.example
to config.json
and set the following values:
-
prefix
is the string proceeding a bot command -
token
is the Discord bot token. Get this from the Discord Developer Portal -
seed
is a secret value used to generate the verification code. Must be the same as the google script seed value -
server
has info regarding your server as follows:id
is the ID of your Discord servername
is the name of your society or Discord serveremail
is your society's contact email address in case of issues
-
categories
has the IDs of categories in your server:exec
is the ID of the exec category to use privileged bot commands inarchive
is the ID of the category that thearchive
command moves channels tomoveable
has the IDs of categories that can be moved with theshow
,hide
, andarchive
commands. You can add more as required
-
channels
has the IDs of channels in your server:welcome
is the ID of the channel for the bot to welcome new members inrules
is the ID of the channel with rules or other info you want members to readverify
is the ID of the channel for members to verify in
-
roles
has the IDs of user roles in your server:verified
is the ID of the role to assign to members once they verifyexec
is the ID of the exec or admin role to use privileged bot commands
To enable the extra features, copy extraConfig.json.example
to extraConfig.json
and set the following values:
latenights
has info for the Late Nights feature:id
is the ID of the "Late Nights" categorystart
is the starting time for access to the category inHH:MM
formatend
is the ending time for access to the category inHH:MM
format