@helyx/module-suggestions
v1.2.4
Published
Configurable Discord suggestions and voting for Helyx.
Downloads
765
Maintainers
Readme
@helyx/module-suggestions
Suggestions collects public community ideas in Discord with configurable reaction or Helyx-button voting and optional voter-role eligibility.
Availability and deployment
Suggestions is Live and supported by Hosted Helyx and Helyx Self-Hosted. It uses Helyx runtime and Discord capabilities only and requires no external provider credentials.
What it does
Managers choose a destination, public attribution mode, voting style, vote emojis, optional voter role, and submission guidance. Members submit a bounded title and explanation. Reaction mode keeps at most one of the configured reactions per eligible member; button mode stores one conflict-safe choice and refreshes public totals. Suggestions does not provide private voting or retain native Discord reaction votes in PostgreSQL.
Commands and interactions
| Path or control | Default access | Purpose |
| --------------------------- | -------------- | ----------------------------------------------- |
| /submit suggestion | Everyone | Review guidance and open the suggestion modal. |
| Suggestion form button | Everyone | Open the bounded title and details form. |
| Support or Oppose button | Eligible voter | Create or switch one stored button vote. |
| Configured Discord reaction | Eligible voter | Keep one native reaction vote on an owned post. |
Submissions are limited to three per member per hour. Button votes are limited to twenty attempts per minute and reaction events to thirty attempts per minute. Shared command middleware also throttles /submit suggestion.
suggestion.submit controls the slash-command entry point, while the
open-by-default suggestions.participate operation controls the final
submission from both command and panel routes. Voting keeps its separate
per-suggestion eligibility rules.
Dashboard configuration
The Community settings select the suggestion channel, anonymous public display, voting enabled state, reaction or button style, positive and negative emoji, optional required voter role, and short submission guidance. The executable validator checks the same keys and rejects invalid Discord IDs, unsupported emoji forms, identical vote emojis, and overlong guidance.
Discord requirements
Helyx needs View Channel, Send Messages, Read Message History, Add Reactions, and Manage Messages in the configured channel. Manage Messages allows Helyx to remove an opposite or ineligible native reaction. Reaction mode uses the non-privileged Guild Message Reactions intent. Configured custom emoji must be available to the bot.
Data, privacy and retention
suggestions_submissions retains server and Discord message identifiers, nullable submitting account ID, public title/details/attribution, and an immutable voting snapshot so later configuration changes do not reinterpret an existing post. suggestions_votes retains one current button choice and timestamps per server, suggestion, and voting account. Native reaction votes remain in Discord.
Privacy access and erasure use the registered provider even while the module is disabled. Erasure can detach submitter attribution, delete a subject's button votes, redact public attribution, and flag potentially identifying public text for manual review. Submitted text is never copied into audit or optional customer activity logs.
Operations and failure behavior
If reaction setup or required metadata persistence fails after Discord accepts a post, Helyx removes the incomplete public message. Button-vote storage is authoritative: a later totals, Discord-edit, audit, or Logging failure cannot discard the saved vote, and a later successful vote refreshes totals. A bounded expiring ownership cache avoids repeated database reads for the same owned or unrelated reaction message while a cold cache still verifies durable records. Health reports stopped state, required-service availability, recent primary failure, and degraded projection or secondary-event delivery.
Documentation and support
See the Suggestions guide, commands, permissions, troubleshooting, and FAQ.
