Skip to content

Setting up rainbot

Jia Rong Yee edited this page Jul 18, 2020 · 15 revisions

Support Server: https://discord.gg/eXrDpGS

Manage Server/Administrator is required for initial setup

When the bot is in the server, you'd need to set it up first. Below are the commands that should be done in order to setup the bot correctly:

Permission levels

These are levels assigned to roles which can allow/deny them to use certain commands.

This is a general overview of which commands required which permission level:

0 - General commands (mylevel, ping) 5 - Bypass auto moderation
6 - Mod commands (mute, unmute, warn, lockdown) and view giveaway stats
7 - More mod commands (kick, ban)
8 - Setup giveaways
10 - Setup commands (setlog, setpermlevel...)

Server administrators are always on level 15.

Manage Server permissions are always on level 10.

The first usage of this command has to be done by users with the Manage Server/Administrator permission as the permission level required for this command is 10.
!!setpermlevel <perm_level> <role>

The perm_level argument has to be an integer greater than 0.
The role argument can contain a role name, role ID, or role mention.

Suggested permission level

By default, all users are on 0.
5 - VIPs (from 5 onwards, users bypass auto moderation)
6 - Trainee Moderators (6 vs 7, unable to kick/ban users)
7 - Temporary moderators (7 vs 8, unable to add/remove filters)
8 - Moderators (8 vs 10, unable to use most setup commands)
10 - Admins without server permission (There are no differences between 10 and 15)
15 - Administrators (server permission) (default, cannot be changed)

Moderators cannot take any mod action against users of equal or higher permission level.

Prefix

rainbot has a customisable prefix.

Permission level required: 10

!!setprefix <new prefix>

In the rest of the documentation, the prefix is !!, replace it with your custom prefix.

Logging

rainbot logs all moderation activity, and auto moderations.

Permission level required: 10

Different types of logs: message_delete, message_edit, member_join, member_remove, member_mute, member_unmute, vc_state_change

!!setlog <log_name> <channel>

The log_name argument has to be one of the valid types of logs listed above.
The channel argument can contain a channel name, channel ID, or channel mention.

Auto moderation (Detection)

rainbot has various auto moderation methods, specifically, word filters, anti discord invites, limit of @user mentions/message, spam detection (x messages/5 seconds).

Permission level required: 10

!!setdetection <type> <value> Type has to be either block_invite, mention_limit, spam_detection or repetitive_message .

To enable/disable block_invite, do !!setdetection block_invite true or !setdetection block_invite false.
To set a maximum of 10 mentions (unique, non-bot), do !!setdetection mention_limit 10.
To set a limit of 10 messages per 5 seconds, do !!setdetection spam_detection 10. To set a limit of 35 identical messages per 60 seconds, do !!setdetection repetitive_message 35

Word filters

Permission level required: 7

!!filter add <word>
!!filter remove <word>
!!filter list

Warnings

Permission level required: 6

!!warn add <user> <reason>
!!warn list <user>
!!warn remove <index>

Set Warn Punishment

Permission level required: 10

When automoderation is activated, warnings are applied to users who flout the settings.

The bot can be setup to (for example) kick users on their 3rd warning.
!!setwarnpunishment 3 kick

It is highly encouraged to add a final "ban" condition.

!!setwarnpunishment <limit> [punishment=kick/ban/none]

Time offset

When rainbot logs anything, it uses UTC time. If you wish for the time to be UTC+5 for example, you'd have to set the time offset to 5.

Permission level required: 10

!setoffset <new time offset>

The new time offset argument has to be an integer greater than -12 and lower than 14.

View your configuration

Permission level required: 6

!!viewconfig

rainbot would reply with a JSON configuration of your current configuration which you can import using !!importjson <url>.

Giveaways

Permission level required: 10

!!setgiveaway <emoji> <channel> [role=@everyone, @here, none]

!!giveaway create <endtime> <winners> <description> [Permission level: 8]
!!giveaway edit [Permission level: 8]
!!giveaway reroll [Permission level: 8]
!!giveaway stats [Permission level: 6]