| plugins | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| codex-guidelines | ||
| Discord profile banner.png | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| run.js | ||
| safe-mode.js | ||
| Twitch.png | ||
Lumi Bot
Discord bot + WebUI with role-based access, plugin management, and self-update support.
Quick start
Requires Node.js 18+.
- Install dependencies:
npm install - Run with auto-restart:
npm run run - Open
http://localhost:3000/setupand enter your Discord app + bot settings.
You can also seed local configuration with a .env file. Use .env.example
as the template; .env is ignored by git.
Discord app setup
- OAuth2 redirect URI:
http://localhost:3000/auth/discord/callback - OAuth2 scopes:
identify,guilds,guilds.members.read - Add the bot to your server and copy the Guild ID.
WebUI roles
The WebUI maps Discord roles to access levels:
DISCORD_ADMIN_ROLE_IDDISCORD_MOD_ROLE_ID
You can set these in .env or change role IDs in Admin → Settings.
Plugins
Use Admin → Plugins to install, enable, update, or uninstall plugins. You can also create a local plugin from the WebUI.
Twitch bot
Configure Twitch chat settings in Admin → Settings:
twitch_bot_usernametwitch_bot_oauth(OAuth token)twitch_channels(comma-separated)
Custom commands can target Discord, Twitch, or both from Admin → Commands.
Users and linking
Users have an internal UUID and username. Link Twitch accounts in Profile and manage usernames in Profile or Admin → Users.
Theming
Use Admin → Theming to adjust light and dark mode colors. The UI uses your OS theme preference.
Notes
- Auto-update uses
git pullfrom the configured remote + branch. - Auto-restart uses
run.jsto respawn the process after updates or crashes.