Skip to content
Markus edited this page Dec 7, 2025 · 2 revisions

Quick setup

For those familiar with the Discord bot creation workflow.

  1. Clone the repository, then install the dependencies.
  2. Fill tokens in .env
  3. Fill IDs in config.json
  4. Add bot scopes: applications.commands and bot
  5. Add permissions: Ban Members, Embed Links, Manage Messages, Manage Nicknames, Manage Roles, Read Message History, Send Messages, Send Messages in Threads, View Channels
  6. Enable intents: Server Members Intent and Message Content Intent
  7. Run npm run deploy-commands
    1. or scripts/setup.[ps1/sh]
  8. Run npm run start
    1. or scripts/run.[ps1/sh]

Step-by-step

Creating the bot

You need to create a Discord Application first in Discord's Developer Dashboard.

  1. Head to https://discord.com/developers/applications
  2. Click on "New Application"
  3. Once created, head to the Application's settings (if not already)

Setting up auth

Discord bot settings

These settings are to be set in the Discord developer dashboard for the bot.

LoMMuS requires these scopes to be enabled:

  1. applications.commands
  2. bot

LoMMuS also requires these permissions:

  1. Ban Members
  2. Embed Links
  3. Manage Messages
  4. Manage Nicknames
  5. Manage Roles
  6. Read Message History
  7. Send Messages
  8. Send Messages in Threads
  9. View Channels

Local settings

LoMMuS requires two tokens for it to function correctly:

  1. Discord Application Token (bot token).
  2. GitHub Personal Access Token, used for fetching GitHub issue and PR details.

These two tokens must be placed inside an .env file at the root of the repository. You'll need to create it yourself.

See the given .env.example file for an example.

Caution

DO NOT COMMIT AND/OR EXPOSE THE ACTUAL .env FILE. EVER. There's a reason it is .gitignored. If any of the credentials are leaked or otherwise exposed, stop the bot and rotate the credentials immediately.

Setting up bot configuration

LoMMuS requires a config.json file at the root of the repository that contains some values. See config.json.example for an example.

Note that the only real values needing changes are:

  • ownerId
  • clientId
  • guildId

Changing the color values here is permitted, just make sure they're HEX-formatted.

Registering slash commands

LoMMuS provides some slash command functionality, which is able to be deployed using deploy-commands.js. Run the script first before running the bot to register slash commands to Discord.

The script is independent of the other modules and handles authentication by itself.

Deploying

Finally, you can deploy LoMMuS to your preferred machine/service

Clone this wiki locally