TZer0's resources

View on GitHub

Admin’s/Mod’s Guide to Discord

These are instructions + tips and tricks I’ve learned from years of moderating online spaces with a few thousand users. Some of it specific to Discord, but a lot of these tips will probably apply to other platforms.

General notes regarding Discord

Roles you probably want in most servers

General notes about interactions in digital spaces

When to delete messages when banning/kicking

Generally, you want to be able to verify that bans are justified.

Making sure that users do not mute @everyone/@here mentions

The general tip is to not make your server noisy in this regard. If you’re pinging once per day you might already be doing it too much.

Things for which you might ping @everyone/@here

Things for which you shouldn’t ping @everyone/@here

Other Discord tips (that you might want to mention in your server)

Securing your server with a gate

This system makes it so that users have to say that they accept the rules before they’re let in by a moderator. Useful when screening for potential trouble-makers.

  1. Create a trusted role, from now on referred to as @member.
  2. Create any number of categories for your channels. Select that you’re creating a private category, find @member in the list, click on the toggle next to it and then create category.
  3. Create whatever new channels you need in the new categories.
  4. If you have an existing channels, drag them into the new categories. If you’ve set special permissions on any of your old channels, right-click on them, edit, go to the permissions-tab, click the “Sync Now”-button.
  5. Create a role for moderators, from now on referred to as @moderator.
  6. Grant @moderator the permission to at least “Manage Roles”, “Manage Messages”, “View Audit Log”, and also “Kick/Ban Users”. Make sure to check the “Allow anyone to @mention this role” and “Display role members separately from online members”.
  7. Create a separate non-private category for where people start out. Put a channel like “#say-hi” there. Disallow @member from seeing it to prevent easy spam-opportunities. Allow @moderator to see it.

Notes regarding experiences with this system

AcceptBot

I have made a bot called AcceptBot (source code). Click here to add it.

A very quick demo of setting up AcceptBot and using it can be found here.

It allows for faster handling of users coming through the gate.

The way it works is that people must mention one of the trigger words such as “accept”, “read”, or “rules” and if they do, you can have the bot scan their message and let them in.

Check !help once you’ve added the bot. The bot by default requests Manage Messages, but it only really needs the permission in the welcome channel. Change this at your earliest convenience.

It has cut down technical moderation tasks by an incredible amount, especially when three or more people show up at the same time.

Useful bots

Tip for adding Carl Bot react roles to an existing react group

This assumes you’ve already set up reaction roles using !rr make.

Horrible things about Discord

  1. Channel permissions are OR, not AND or TOP. This causes a lot of headaches and you can’t effectively have an accept-gate + channel hiding using roles.
  2. No rule-board where all mods can edit the rules.
  3. No metadata for profiles so you can’t just set your pronouns globally in an easy way.
  4. The permission to ban is the same as the permission to view the ban list.
  5. If you dig around using the js console in the client, you can view the names and description of all channels even if they’re hidden to you.
  6. No official SDK for any language to make a bot.
  7. No one really knows how moderation on Discord works. What gets a server banned is still unknown.
  8. You can’t easily report a message unless you’re a moderator.
  9. Porn-spammers do not get banned even if reported.
  10. Discord still parses parts of embeds - especially tweets.
  11. Discord often crashes when trying to stream or when you stop streaming.
  12. A lot of things that ought to have been standard is something you need to do via a bot.
  13. No way to avoid having someone on the top of the authority-chain, having a properly democratic server is impossible.
  14. New roles inherit from @everyone. This means that if you forgot to remove the ability to ping @everyone before you made new roles, you’ll have to go through every role individually and do it for every single one of them.
  15. Granting someone read messages history permission in a channel doesn’t update what they see. They’ll have to restart the client to see what they’re now allowed to see.
  16. MessageDeleteEvent doesn’t contain information about who deleted a given message nor whose message it was. Audit log does’t contain timestamp of messages deleted, only who deleted and whose it was.
  17. Minor thing, but tilde and minus are incredibly similar, especially when the font size is reduced.
  18. There are so many gifs and videos out there that crash Discord and there’s absolutely no detection for this.
  19. Default dark purple for roles has a rather low contrast with the dark theme, making it difficult to read.
  20. Bios are being added. However: you can’t filter what server members are able to see and there’s no explicit pronouns field available.
  21. If a server you’re in gets banned, your user might be taken with it regardless of level of participation.
  22. There are still Discord-crashing gifs and videos.
  23. 01.07.2021: Discord is embedding videos on linked tweets as jpegs with no indication that there’s a video.
  24. Hovering a link in an embed doesn’t tell you where it leads.
  25. Embeds of videos from Twitter often do not play and perform poorly in full-screen, fxtwitter.com exists as a way to mitigate this.

Contributors