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
member suggestion commands
commandwhat it doesneeds
/suggest <suggestion>post an idea in the configured suggestion channelanyone
/suggestion status <id>show the current status and vote tallyanyone
noteanonymous does not mean private

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.

  1. 01

    set the channel

    ,suggestion config channel #suggestions chooses where new posts appear.

  2. 02

    choose attribution

    ,suggestion config anonymous on replaces the submitter with anonymous on new records.

  3. 03

    choose voting

    ,suggestion config voting on adds voting controls to new suggestion posts.

  4. 04

    verify it

    ,suggestion config prints the channel, voting state, and anonymous state.

configuring suggestions commands
commandwhat it doesneeds
/suggestion configview suggestion settingsmanage server
/suggestion config channel <channel>set the suggestion post destinationmanage server
/suggestion config anonymous <on or off>hide or show submitter attributionmanage server
/suggestion config voting <on or off>enable or disable suggestion votingmanage 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.

reviewing suggestions commands
commandwhat it doesneeds
/suggestion approve <id> [reason]mark an idea approved and optionally explain whymanage messages
/suggestion deny <id> [reason]mark an idea denied and optionally explain whymanage messages
/suggestion implement <id> [reason]mark an approved idea as deliveredmanage messages
/suggestion edit <id> <text>replace the stored suggestion text and refresh its postmanage messages
/suggestion delete <id>delete the record and original postmanage messages
dangerdelete is permanent

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 #general

havoc 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.

report privacy and cooldowns commands
commandwhat it doesneeds
/report configview the channel, reporter visibility, and cooldownmanage server
/report config channel <channel>set the private staff destinationmanage server
/report config anonymous <on or off>hide reporters on the shared card until staff open a reportmanage server
/report config cooldown <duration or 0>set time between reports, or disable the cooldown with 0manage server
warningchannel access is checked twice

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.

handling reports commands
commandwhat it doesneeds
/report claim <id>take ownership of an open reportmanage messages
/report view <id>read the full report and reveal its filer privatelymanage messages
/report resolve <id> [note]close the report as handledmanage messages
/report deny <id> [note]close the report without actionmanage messages
/report delete <id>delete the report record and its postmanage 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.