A modular Discord bot for (my) private servers
  • TypeScript 97.7%
  • JavaScript 1.5%
  • Dockerfile 0.8%
Find a file
2026-07-09 08:53:45 +01:00
.idea chore(intellij): add git toolbox config 2024-03-17 00:27:00 +00:00
prisma chore: update prisma 2021-06-05 16:53:10 +01:00
src fix(bins): adjust to new api 2024-05-22 21:41:54 +01:00
.dockerignore feat(v2): initial commit 2021-03-25 20:50:23 +00:00
.editorconfig feat(v2): initial commit 2021-03-25 20:50:23 +00:00
.env.example feat: rest api for guilds/channels/messages 2021-06-05 16:54:25 +01:00
.eslintignore feat(v2): initial commit 2021-03-25 20:50:23 +00:00
.eslintrc.js feat(v2): initial commit 2021-03-25 20:50:23 +00:00
.gitignore feat(v2): initial commit 2021-03-25 20:50:23 +00:00
.prettierrc feat(v2): initial commit 2021-03-25 20:50:23 +00:00
docker-compose.yml feat(v2): initial commit 2021-03-25 20:50:23 +00:00
Dockerfile build(docker): pin to node 20 2024-03-17 00:28:13 +00:00
LICENSE feat(v2): initial commit 2021-03-25 20:50:23 +00:00
nodemon.json feat(v2): initial commit 2021-03-25 20:50:23 +00:00
package.json build(deps): bump express from 5.0.0-beta.1 to 5.0.0 2026-01-22 09:52:29 +00:00
readme.md docs(readme): update docker example 2021-06-05 16:55:42 +01:00
tsconfig.json feat(v2): initial commit 2021-03-25 20:50:23 +00:00
yarn.lock build(deps): bump js-yaml from 3.14.2 to 3.15.0 2026-07-09 01:33:50 +00:00

Discotheque 2

Yet another general-purpose Discord bot. WIP, of course.

Setup

Requirements

  • Node 12.x or later and Yarn
  • An empty Postgres database

Procedure

  • Copy .env.example to .env and fill out the Bot Configuration section.
    • Optionally fill in the Docker Compose values if using the Compose extras.
  • Run yarn prisma migrate deploy to set up the database.
  • Run yarn build to compile the source.
  • Run yarn disco client add --name <client_name> --token <client_token> to add a bot client.
    • Clients can be added while the bot is running, but it must be restarted to take effect.
  • Run yarn start to start the bot.

Docker

Fill in the env vars in the below command and run:

docker run \
  -v ./logs:/app/logs \
  -e 'BOT_OWNER_ID=' \
  -e 'DATABASE_URL=' \
  -e 'SECRETS_KEY=' \
  -e 'DGM_DATABASE_URL=' \
  -e 'API_AUTH_TOKEN=' \
  jakestanger/discotheque