Suggestions
Suggestions give ideas a single place to land and a visible outcome. A member submits one with a command, it gets posted for the server to vote on, and a moderator later marks it approved, rejected or implemented. The message updates itself to show that decision.
Setting up a panel
Go to Engagement > Suggestion in the dashboard, press Add, name the panel, then open it with Edit and pick the channel suggestions get posted to. Turn the panel on.
The panel name matters here, unlike the starboard: members type it when they
submit, so give it a name they can guess, like features or events.

The Emojis column shows the vote marks members will see on this panel.
How many panels you can run depends on your tier:
| Free | Silver | Gold | Platinum |
|---|---|---|---|
| 1 | 3 | 5 | 20 |
Submitting a suggestion
Members use:
/suggestion create panel:<panel name> suggestion:<their idea>
The panel field autocompletes, so they pick from your panels rather than typing a name from memory. The confirmation they get back is private; only the posted suggestion is public.
The title is the panel's name, the author line is the member who submitted, and the body is their text, untouched. In reaction voting the bot then adds 👍 and 👎 under it.
Three settings on the panel control what gets accepted:
| Setting | Default | What it does |
|---|---|---|
| Minimum length | 10 | Shorter submissions are refused |
| Maximum length | 2000 | Longer submissions are refused |
| Cooldown | 0 seconds | How long a member must wait between two submissions to this panel |
Both length bounds can be set anywhere from 1 to 2000 characters, and the cooldown up to 86400 seconds (24 hours). A member who is still on cooldown is told exactly when they can submit again.
Voting
Two styles, chosen with a switch on the panel.
Reactions is the default: FlaviBot adds 👍 and 👎 to the suggestion and members react. Simple, and anyone can see who voted.
Buttons posts vote buttons instead and keeps the count itself. Clicking the same button twice removes your vote; clicking the other one switches it. One vote per member is enforced, and the counts on the message update immediately.
Button voting also closes automatically: once a suggestion is no longer pending, clicking a vote button tells the member voting is closed.
Deciding on a suggestion
A moderator with Manage Messages runs:
/suggestion status message_id:<id> status:<Pending|Approved|Rejected|Implemented> reason:<optional>
The message_id is the id of the bot's suggestion message in the channel:
right-click it and choose Copy Message ID.
The suggestion message is rewritten in place with the new status, its colour and, if you gave one, your reason. Nothing new is posted, so the channel stays readable.
Each status has its own colour and mark: pending is blurple 🕒, approved green ✅, rejected red ❌, implemented yellow 🚀. With button voting, the buttons on a suggestion that is no longer pending stop accepting votes.
There is also /suggestion refresh message_id:<id>, also Manage Messages,
which re-renders a suggestion message from what FlaviBot has stored without
changing its status. Use it if a message got edited or looks out of sync.
Threads
Auto thread opens a discussion thread on each suggestion automatically, so debate happens in the thread instead of burying the next suggestion.
If you point the panel at a forum or media channel instead, each suggestion opens its own forum thread, and auto thread does not apply. Name those threads with the Forum thread name field:
| Placeholder | Becomes |
|---|---|
{panel} | The panel's name |
{suggestion.title} | The first line of the suggestion |
{user.username} | The submitter's name |
Leave it blank and threads are named after the panel followed by the first line of the suggestion. Thread names are cut to Discord's 100-character limit.
Permissions
In the suggestion channel the bot needs View Channel, Send Messages and Embed Links. Reaction voting also needs Add Reactions. Auto thread needs Create Public Threads, and a forum target needs the same.
