Skip to content

Discord

Łukasz Domeradzki edited this page Aug 8, 2024 · 38 revisions

Discord

This page lists ArchiBot features that are exclusive to Discord platform. Features that are generic and available on all platforms will not be listed here.


Invite

ArchiBot is a private Discord bot dedicated to selected online communities that we've decided to support. It's not possible to invite ArchiBot to your server through normal means and we do not intend to change it. If you're interested in utilizing ArchiBot on your server, it's offered as part of $5 tier on my GitHub. If you're my supporter or patron, you can request ArchiBot on your Discord server by reaching me at JustArchi[at]JustArchi[dot]net.


Permissions

ArchiBot makes use of the following (global) permissions. All of them are optional, although without the most basic ones like reading/writing messages, the bot will be useless on its own.

Administration

  • Ban Members (4), optional, used for automatic moderation.
  • View Audit Log (128), optional, used for moderation events.
  • Manage Messages (8192, 0x2000), optional, used for automatic messages publishing.
  • Manage Roles (268435456), optional, used for role command, as well as addReactionToRole mechanism.

General

  • Read Messages (1024), optional, for listening to chat commands, automatic moderation and automatic messages publishing.
  • Send Messages (2048), optional, for answering to chat commands and automatic messages publishing.
  • Embed Links (16384), optional, if you want to allow the bot to embed links (when appropriate).

Moderation events

If there is a channel on your server named staff or mods, then ArchiBot will automatically repost all kick, ban and unban events to that channel for informational purposes.

For full compatibility, this functionality requires "View Audit Log" (128) permission. Without such ArchiBot can't post kick events, neither provide reasons from the audit log.


Automatic moderation

If ArchiBot is granted with "Ban Members" (4) permission, then it'll use its original message-scanning system for determining unwanted messages (especially phishing links) and automatically ban members for posting such. Together with moderation events explained above, you can get notified when this happens on staff channel.

Remember that ArchiBot also requires "Read Messages" (1024) on all channels you intend to moderate.


Automatic publish

ArchiBot automatically publishes all announcements, which allows other servers to receive them immediately once they're posted. This feature works for all kind of announcements, especially those posted by webhooks.

This functionality requires "Read Messages" (1024), "Send Messages" (2048) and "Manage Messages" (8192) permission on all announcement channels where you expect ArchiBot to automatically publish all post messages.

Please be advised that the channel must be of type "announcements" to enable tracking and messages publishing. Also keep in mind that Discord has internal rate-limiting that allows no more than 10 announcements per hour for given channel, so ArchiBot might fail to publish automatically in case of excessive amount of messages.


Access

ArchiBot considers given user as a Moderator when he has at least one assigned role with "Manage messages" (8192) permission. ArchiBot considers given user as an Administrator when he has at least one assigned role with "Administrator" (8) permission, or if he's the owner of the server.

Administrator has the Moderator permission by definition.


Commands

addReactionToRole <channelID> <messageID> <emote> <roleID>

Enables mechanism that will add/remove roleID from the user reacting with emote to messageID on given channelID. Multiple emotes can be added to the same message granting different (or even the same) role, in several commands.


boobs

butts

nsfw <query>

Those commands work exactly the same as their generic variants, except ArchiBot will take into account NSFW setting of the channel and will ignore those commands sent to channels that are not declared as such. Private chat is considered NSFW by default.


clearReactionToRole <channelID> <messageID>

Removes all assigned emotes-to-roles for given messageID on the channelID added with addReactionToRole command. Alternatively, the original message can simply be deleted which will do the same.


role <targetRole>

This command is used for adding/removing user that executed the command to/from <targetRole> group. Users without a Moderator permission can ask only for those roles that end with a + character, which indicates that given role is considered public. Moderators can execute this command with any role on the server. In addition to that, ArchiBot will refuse to grant user a role that includes more permissions than he currently has, unless the user executing the command is Administrator.

For convenience, + sign of public roles can be omitted when declaring <targetRole>.