Role Menus & Reaction Roles

Three flavours of self-service roles, all configurable from the dashboard or Discord.

Role menus (recommended)

Persistent button or dropdown UIs backed by the role_menus table. They survive bot restarts (the views are re-registered on boot) and support per-option requirements like "must be verified", "18+ only", "max 5 users".

  • Create one from the embed builder's Role menu attachment, or via /post role_menu.
  • Each menu can have up to 25 role options.
  • Toggle allow multiple, show counters, or require verification per menu.

Reaction roles

Old-school 🍿 emoji-on-message style. Lighter to set up, but no requirements / per-user counters. Best for huge servers where 25-row dropdowns aren't enough.

  • Configure inline from the embed builder's Reaction roles attachment.
  • Mark roles as exclusive to enforce picking one only.
  • State lives in reaction_roles + reaction_role_selections.

Role categories

A higher-level container for grouping role menus by theme (Pronouns, Notifications, Pings…). Each category has its own min/max selection rules. Manage via /roles category …; dashboard support is coming next iteration.

Edge cases

  • Sploodji must rank above the role it's assigning. The dashboard's Permissions page surfaces this.
  • Removing a role from a menu doesn't strip it from members; that's a separate /roles strip action.
  • Role menus posted via the embed builder track their message_id, so editing the embed re-edits the same message.
Confirm