How to make people read the rules?

Two ways, either:

Route 1: A bot that gives the role after typing the command/keyword.

  • Make a new role. Eg. Members
  • Disable Read Messages permission for @everyone on all channels except #rules.
  • Enable Read Messages permission for all channels for the Members role.
  • For the #rules page, disable SEND MESSAGES for Members.
  • (Optional) Hide the command somewhere in the rules so they're required to search for it.
  • Setup the bot that will assign the role.
Channel Read Message Send Message
#rules @everyone: ENABLE/GREEN [✅] @everyone: ENABLE/GREEN [✅]
#rules Members: ENABLE/GREEN [✅] Members: DENY/RED [❎]
Other @everyone: DENY/RED [❎] @everyone: NEUTRAL/GRAY [ / ]
Other Members: ENABLE/GREEN [✅] Members: NEUTRAL/GRAY [ / ]

Route 2: A bot that auto-gives a role and removes it after being verified.

(Main perk for this is you'll be able to prune members for inactivity if you don't have self-assign roles.)

  • Make a new role. Eg. Unverified
  • Have a bot that auto assigns this role upon users joining the server.
  • Disable Read Messages permission for Unverified on all channels except #rules.
  • Enable Send Messages permission for Unverified on #rules.
  • (Optional) Hide the command somewhere in the rules.
  • Setup the bot that will remove the role.
Channel Read Message Send Message
#rules @everyone: ENABLE/GREEN [✅] @everyone: DENY/RED [❎]
#rules Unverified: ENABLE/GREEN [✅] Unverified: ENABLE/GREEN [✅]
Other @everyone: ENABLE/GREEN [✅] @everyone: NEUTRAL/GRAY [ / ]
Other Unverified: DENY/RED [❎] Unverified: NEUTRAL/GRAY [ / ]

Note: Putting the Send Message permission to NEUTRAL in the other channels will allow you to have a functioning MUTED role. (Muted role has Send Messages permission DENIED on ALL channels.)

/r/discordapp Thread