ReinfyBot is a Discord bot for the Reinfy Discord server. It loads commands from the commands/ directory, handles message-based commands using the configured prefix, and starts a small Express HTTP endpoint for uptime/status monitoring.
pingreports the Discord gateway latency.kickallows a member with theModeratorrole to kick a mentioned member when the bot has the required Discord permission.reloadreloads a command module during development.- The root HTTP route serves
index.html, which can be used as a simple health/status page. - The bot sets its presence after the Discord client is ready.
- Node.js 20 or newer. CI validates Node.js 22 and 24, and the locked dependency graph includes packages requiring Node.js 18 or newer.
- A Discord bot token with the gateway intents and permissions required by the enabled commands.
The repository does not include a token loader such as dotenv. Provide the token as the case-sensitive token environment variable in the process that starts the bot. Do not commit the token or replace the tracked config.json with secrets.
config.json currently contains the message prefix:
{
"prefix": "!"
}The bot passes process.env.PORT to the HTTP listener. Set PORT explicitly when deploying behind a health monitor. The Discord token is read from process.env.token.
Install the locked dependencies and start the bot from the repository root:
npm ci
node index.js
The process starts both the Discord client and the Express status endpoint. Command modules are loaded from commands/, and event handlers are loaded from events/.
The GitHub Actions workflow runs npm ci across its configured Node.js matrix and runs the repository's check-lint syntax check. This repository has no separate runtime test suite; validating command behavior still requires a configured Discord test environment.
Keep the bot token outside Git and rotate it if it is exposed. The kick command depends on the exact Moderator role name, guild context, member permissions, and the bot's KICK_MEMBERS permission. The reload command is intended for development and should not be exposed to untrusted users.
ReinfyBot is licensed under the GNU Lesser General Public License v2.1.