@helyx/module-welcome
v1.1.14
Published
Configurable Discord member welcomes for Helyx.
Maintainers
Readme
Welcome module
An official Helyx Community module for greeting new Discord server members and optionally giving them a starting role.
Member flow
When an eligible member joins, Helyx posts a Components V2 welcome card in the configured channel. The card can mention the joining member and includes a server-defined plain-text message. Discord mentions embedded inside the configured message remain disabled, so server-provided copy cannot unexpectedly notify roles or other members.
The module can also give the member one configured starting role. The welcome message and role assignment are attempted independently: a role hierarchy or permission problem does not prevent the message attempt, and a channel problem does not prevent the role attempt. Bot accounts are ignored by default and can be included explicitly.
The module contributes no slash commands. Configuration and enablement belong in the Helyx dashboard, and the module remains disabled by default for each Discord server.
Dashboard configuration
The manifest contributes five generic Community settings:
- Welcome channel
- Welcome message
- Whether to mention the joining member
- Optional starting role
- Whether bot accounts are eligible
The dashboard supplies real server channels and roles. The executable validator remains authoritative and uses the same keys and limits. The configured role must be below the Helyx bot role, must not be managed by an integration, and requires Helyx to have MANAGE_ROLES.
Data and logging boundaries
Welcome stores no module-owned rows because its behaviour only needs versioned platform configuration. Discord retains the welcome message, while role membership remains Discord-owned. Disabling or uninstalling the module retains its configuration under the platform's standard module lifecycle rules.
Operational failures use Helyx's structured runtime logs. When the optional Logging module is installed, enabled and configured, Welcome contributes a switchable member-joined customer activity event containing only the member ID and the outcomes of the welcome-message and starting-role actions. Welcome does not create its own log channel or retain a second event record.
Package and deployment boundaries
The module imports only approved Helyx contracts. It never imports Discord.js, a database driver, application-private code, or hosted-only infrastructure. The same package is intended to run in hosted Helyx and future self-hosted compositions.
The package includes compiled output, its manifest, README, and proprietary notice in its npm allowlist. Publication is restricted to the repository's explicit release plan, clean-tree checks, tarball inspection, and registry verification.
Required Discord access
Helyx needs VIEW_CHANNEL and SEND_MESSAGES in the configured welcome channel. Starting-role assignment also needs MANAGE_ROLES, and the selected role must be assignable by Helyx.
The module uses Discord's privileged GUILD_MEMBERS gateway intent. Enable Server Members Intent for the Helyx Discord application before deploying a bot composition that installs this module. The bot requests that privileged intent only when an installed module contributes a member-join event.
