suggestions & reports.
two inboxes: one for ideas, one for problems.
choosing the right inbox
suggestions and reports are separate records with separate channels and workflows. a suggestion is an idea meant to be posted, voted on, and answered in a community-facing suggestion channel. a report is a complaint about a member, sent to a staff-only report channel. configure both destinations before asking members to use them.
- ::suggestions
- the post contains the idea, its numbered id, status, vote tally when enabled, and the submitter unless anonymous suggestions are on.
- ::reports
- the post contains the reported member, complaint, status, and reporter visibility chosen by the report anonymous setting.
neither system is a substitute for a ticket. use a report when staff must assess another member’s conduct; use a support ticket when the member needs an ongoing private conversation.
submitting and voting on suggestions
anyone may submit an idea once an administrator has set the suggestion channel. havoc creates a numbered post there, then confirms where it went. when voting is enabled, the post has up and down controls and keeps the tally on the suggestion card. the controls remain attached to old posts after havoc restarts.
,suggest add a weekly community event
/feedback suggest suggestion: add a weekly community event
,suggestion status 12
/suggestion status id: 12| command | what it does | needs |
|---|---|---|
| /suggest <suggestion> | post an idea in the configured suggestion channel | anyone |
| /suggestion status <id> | show the current status and vote tally | anyone |
anonymous suggestions still post the idea in the suggestion channel. the setting hides the submitter on the card; it does not turn the submission into a private staff message.
configuring suggestions
suggestion configuration requires manage server. set the destination first, then decide whether the post identifies its author and whether members can vote. running the base config command is a quick check before publishing the feature.
- 01
set the channel
,suggestion config channel #suggestionschooses where new posts appear. - 02
choose attribution
,suggestion config anonymous onreplaces the submitter with anonymous on new records. - 03
choose voting
,suggestion config voting onadds voting controls to new suggestion posts. - 04
verify it
,suggestion configprints the channel, voting state, and anonymous state.
| command | what it does | needs |
|---|---|---|
| /suggestion config | view suggestion settings | manage server |
| /suggestion config channel <channel> | set the suggestion post destination | manage server |
| /suggestion config anonymous <on or off> | hide or show submitter attribution | manage server |
| /suggestion config voting <on or off> | enable or disable suggestion voting | manage server |
reviewing suggestions
staff with manage messages move a suggestion from its initial state to approved, denied, or implemented. an optional reason becomes the visible staff response. approving says the idea is accepted; implementing says the work is complete. denying closes the idea without claiming it will happen.
| command | what it does | needs |
|---|---|---|
| /suggestion approve <id> [reason] | mark an idea approved and optionally explain why | manage messages |
| /suggestion deny <id> [reason] | mark an idea denied and optionally explain why | manage messages |
| /suggestion implement <id> [reason] | mark an approved idea as delivered | manage messages |
| /suggestion edit <id> <text> | replace the stored suggestion text and refresh its post | manage messages |
| /suggestion delete <id> | delete the record and original post | manage messages |
suggestion delete removes both the record and its post. use deny when the decision and staff explanation should remain visible. edit only to correct or clarify what was submitted, not to turn a member’s idea into a different proposal.
filing a private report
a report names one member and requires a reason. with the prefix form, havoc first removes the command message so the target and complaint do not remain in public. if it cannot remove that message, it refuses to file the report; grant havoc manage messages in the submission channel or use the slash form, whose confirmation is private.
,report @member repeated harassment in #general
/report run member: @member reason: repeated harassment in #generalhavoc rejects self-reports and reports targeting bots. after a successful prefix submission it tries to send the confirmation by direct message, with a short non-identifying channel confirmation as a fallback. the full complaint is posted only in the configured report channel.
report privacy and cooldowns
the report channel must be staff-only. havoc refuses a channel readable by everyone or by ordinary roles, because the complaint and the reported member belong in a restricted destination. report anonymous mode has a narrower meaning than suggestion anonymity: it hides the reporter on the staff-channel card, but authorized staff can still reveal the identity with report view.
| command | what it does | needs |
|---|---|---|
| /report config | view the channel, reporter visibility, and cooldown | manage server |
| /report config channel <channel> | set the private staff destination | manage server |
| /report config anonymous <on or off> | hide reporters on the shared card until staff open a report | manage server |
| /report config cooldown <duration or 0> | set time between reports, or disable the cooldown with 0 | manage server |
manage messages where a command is typed does not automatically grant access to private complaints. report staff must also be able to view the configured report channel and manage messages there.
handling reports
every report receives an id. staff can claim an open report to show who is handling it, inspect the reporter privately, then resolve it as handled or deny it without action. optional notes remain with the final state. these commands require manage messages plus access to the report channel.
| command | what it does | needs |
|---|---|---|
| /report claim <id> | take ownership of an open report | manage messages |
| /report view <id> | read the full report and reveal its filer privately | manage messages |
| /report resolve <id> [note] | close the report as handled | manage messages |
| /report deny <id> [note] | close the report without action | manage messages |
| /report delete <id> | delete the report record and its post | manage messages |
prefer resolve or deny when an audit trail matters. deletion is for duplicates, tests, or content that must not be retained; once deleted, the numbered report and original staff post are gone.
