Discord/Robyul

From Meta
Jump to navigation Jump to search

Robyul is AGPL3.0 bot which is a "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, deletes it, or otherwise alter the original data, 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[edit | edit source]

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. Site Reliability Engineering have admin permission, and System Administrators and Stewards have mod permission. CVT have partial mod access to #CVT group.

Current role hierarchy (with moderating access):

---- Below have admin access ----
Site Reliability Engineering
Robyul Manager
---- Above have admin access -----
---- Below have mod access ----
System Administrators
Stewards
CVT (confined to CVT category)
Moderator Bot
---- Above have mod access ----

Moderation[edit | edit source]

Chatlog[edit | edit source]

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[edit | edit source]

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.

Manual inspection can be performed by _inspect @ID#DiscordTag. This require mod role or above.

Mute, kick, ban[edit | edit source]

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 mod role.

mute
  • _mute @user#discordtag for minutes/hours/days User is muted on whole server for given time.
  • _pending-unmutes lists currently muted users, waiting for unmute or expiration.
  • _unmute @user#discordtag repeals the _mute.
kick
  • _kick @user#discordtag reason kicks user. Reason provided are saved in the audit log.
ban
  • _ban @user#discordtag number_of_days reason 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.

Custom commands[edit | edit source]

You can set custom commands, just like !words in wm-bot @ IRC. You must be recognized by Robyul as mod or above to make a new command.

  • Type _commands list to see all available commands.
  • Type _commands add COMMAND OUTPUT - when you say _COMMAND, bot will respond OUTPUT.

Miscellaneous[edit | edit source]

  • _dig DOMAIN TYPE does DNS query. Example: _dig miraheze.org MX
  • _whois domain does whois query. IP cannot be whois'ed. Example: _whois miraheze.org
  • _isup domain checks isup.me. For those who are too lazy to visit the website. Example: _isup miraheze.org