Discord/Robyul

Robyul is AGPL3.0 bot which is "K-pop discord bot", but we don't care, we use it for our own purposes.

It does statistics on join/leave/chat, complete chat log that is preserved even if the author modifies it, etc etc documented below. This is a summary of the full command list, but that includes lots of unrelated functions, so this page serves as Miraheze's quick documentation.

Permission
Robyul's advanced permissions (like moderation commands) are only accepted if the user has the correct permission. This is checked by if the user has a correct role. Operations have  permission, and System Administrators and Stewards have   permission.

Current role hierarchy: (Highest) Admin Mod

Chatlog
You must have "admin server" permission as part of your roles to see this.

Then log in to the web interface. You'll see chatlog below the miraheze logo.

User investigation
Robyul performs automated checks when new users join. For now, following automated checks are performed:

User is banned on a different server with Robyul on. User has none other common servers with Robyul. Account is less than one week old. Account got reported as a troublemaker. Account is banned on bans.discordlist.net, a global (unofficial) discord ban list.

Manual inspection can be performed by. This require  role or above.

Mute, kick, ban
Discord's native moderation does not allow expiring moderation. On IRC, we leverage this using eir, but on discord, we use Robyul. To perform commands in this section, you need to have at least  role.


 * mute
 * User is muted on whole server for given time.
 * lists currently muted users, waiting for unmute or expiration.
 * repeals the.


 * kick
 * kicks user. Reason provided are saved in the audit log.


 * ban
 * bans the user, logs the reason in audit log, and deletes the recent number_of_days day's messages.
 * You cannot unban using the bot. Do it in Discord interface.

Miscellaneous

 * does DNS query. Example:
 * does whois query. IP cannot be whois'ed. Example:
 * checks isup.me. For those who are too lazy to visit the website. Example: