cp examples/config.example.json config.json
# edit the config.json file to have your ids/token in it
node deploy-commands.js
node index
you'll need this link to invite the bot to your server
for adding a global check
types available are: regex, exact, contains
the contains type will ban/request to ban any username with the contained string, please be cautious
for removing a global check. index can be found with the list command
for listing global checks and their corresponding index and type
for setting a user check. if you don't have an expression, use the add command
for removing a user check
for adding a user check
for listing users and their corresponding regex check
normalises a string so it can be used in regex
emulates a ban. used for testing.
bulkbans users that joined between a certain time period
bulk kicks users that don't have a role, that joined before the grace period (in days)
clears all prompts in the prompts channel
manually runs a sweep of all guild members to match expressions
{
"token": "INSERT_TOKEN_HERE", // discord bot token
"guildId": "INSERT_GUILD_ID_HERE", // discord guild id
"clientId": "INSERT_CLIENT_ID_HERE", // discord bot client id
"channelIds": {
"logs": "INSERT_LOG_CHANNEL_ID_HERE", // log channel id
"prompts": "INSERT_PROMPT_CHANNEL_ID_HERE" // prompts channel id
},
"permittedRoleIds": ["INSERT_PERMITTED_ROLE_IDS_HERE"], // roles permitted to use application commands
"autoSweepTime": 5, // interval between each automatic sweep (in minutes)
"banConfirmations": { // bools for if a event requires a prompt before banning (true = prompt required)
"onJoin": { // user join event
"recentDuplicate": true, // user with same username joined in last 100 users
"importantUserRegex": true, // important user expression match
"globalRegex": true // global expression match
},
"usernameChange": { // user username change event
"fastChange": true, // user quickly changed username more than 1 time
"importantUserRegex": true, // important user expression match
"globalRegex": true // global expression match
},
"manualSweep": { // manual member sweep event
"importantUserRegex": true, // important user expression match
"globalRegex": true // global expression match
}
}
}