Commands

Suggestions

Community suggestion system with voting (👍/👎 reactions) and approval/rejection by moderators.

Commands

/suggest

Submits a new suggestion to the configured suggestions channel.

ParameterTypeRequiredDescription
contentstringYesSuggestion content (max 2000 characters)

Permissions: Everyone

Example: /suggest content:Add a channel for strategy discussions

Success:

Bot sends an embed to the suggestions channel with title "Suggestion #N" (auto-incrementing), content, author, and status "⏳ Pending" with Approve/Reject buttons

Adds 👍 and 👎 reactions for voting

Optionally creates a discussion thread

Ephemeral confirmation for the author

Log in "suggestions" module

Errors:

  • Content exceeds 2000 characters
  • Suggestions channel not configured
  • Channel doesn't exist or bot doesn't have access

Approval / Rejection

Moderators can click the Approve or Reject buttons under a suggestion:

Approve (✅)

  • Embed changes color to green (color_approved)
  • Status: "✅ Approved by [moderator]"
  • Buttons disappear
  • Thread (if exists) is archived and locked
  • Log in "suggestions" module

Reject (❌)

  • Embed changes color to red (color_rejected)
  • Status: "❌ Rejected by [moderator]"
  • Buttons disappear
  • Thread (if exists) is archived and locked
  • Log in "suggestions" module

Permissions for approve/reject: Configurable (moderation_roles / custom)


Configuration

OptionDescriptionDefault Value
channel_idChannel for sending suggestionsnone (required)
color_pendingPending suggestion embed color#3B82F6 (blue)
color_approvedApproved suggestion color#22C55E (green)
color_rejectedRejected suggestion color#EF4444 (red)
create_threadCreate discussion thread per suggestionfalse
anonymousHide suggestion authorfalse
manage_permissionWho can approve/rejectmoderation_roles
manage_rolesRoles for custom permissionnone
counterAuto-incrementing suggestion counter0

Required Configuration

The suggestions channel (channel_id) must be configured in the dashboard. Without it, the /suggest command will return an error.

Persistent Views

The Approve/Reject buttons work even after a bot restart — they use permanent custom_id values and are registered when the cog loads.