Useful Links (for users):
Website
| User Guide
| Changelog
| Get Help (Discord)
Add Rollem to your Discord Server (for server admins):
Primary Bot
| Beta Bot
A feature-filled dicebot that allows you to just roll. Rollem parses chat messages, and if it looks like a dice roll (d20 to hit
), Rollem assumes it is, and produces a result. Messages can also be rolled [d20 inline] with [2d4 multiple rolls]
or 6#4d6kh3 in bulk
.
Read more about available commands & syntax on the website.
Primary Channel (@rollem
| invite)
The primary bot. If you aren't sure which to add, invite this one.
Changes are vetted in the Beta Channel before moving to this bot, so you should be insulated from change-related downtime.
Beta Channel (@rollem-next
| invite)
The secondary bot, with earlier feature updates. Changes are vetted in the Beta Channel before being moved to the Primary Channel.
You may have both @rollem-next
and @rollem
in the same server, but they should not be allowed in the same channels.
If you aren't planning to make changes locally, Docker will be the easier way to run the project.
- Clone Project
- Install local Docker
- I used Docker Desktop for Windows
All secrets are stored in /secrets/docker.env
or /secrets/vscode.env
.
Sample files can be found in /secrets/*.sample.env
.
Copy this file to /secrets/*.env
(ie /secrets/docker.sample.env
-> /secrets/docker.env
) and make changes.
/secrets/docker.env
is used forcompose.yaml
with Docker Compose.
/secrets/vscode.env
is used for local development.
You will need values from your own Discord App registration.
Go to Discord Developer Portal - My Applications to create one if needed.
Values to modify in /secrets/docker.env
:
DISCORD_CLIENT_ID
: (Your Application) -> OAuth2 -> Client IDDISCORD_CLIENT_SECRET
: (Your Application) -> OAuth2 -> Client Secret (Reset Secret)DISCORD_BOT_USER_TOKEN
: (Your Application) -> Bot -> Token (Reset Token)- The other fields can be ignored.
Running the bot (locally, via docker packages)
docker compose up
- pulls packages and begins launch process- Eventually it will say something like
Starting... Ready in 2.1s
If everything has gone to plan...- The bot should appear online.
- The website should be accessible at http://localhost:3000
- The website Login button should work
- You sh
8000
ould have a new folder
/database/
- When done, stop
docker compose
with...- press
Ctrl+C
- ...wait for Stopped...
- press
Ctrl+C
again
- press
- Cleanup...
- Docker will keep all your pulled images and containers around.
- Delete them to free up space in Docker For Windows GUI or otherwise.
If you wish to make changes to Rollem, you will need a few more tools than above.
- Clone Project
- Install Node.js
- Follow the official node.js instructions. I used the instructions for
22 LTS
on Windows usingfnm
- Rollem currently uses Node 18, but may work on later versions.
Check the Dockerfile to verify the latest version Rollem targets.
You're looking for this line:FROM node:18-alpine AS base
- Use
fnm use --install-if-missing 18
if needed
- Follow the official node.js instructions. I used the instructions for
- Setup Yarn Modern (instructions)
corepack enable
Initialize Yarnyarn
Install Packages
- Install local Docker
- I used Docker Desktop for Windows
yarn bot package
-- build + packageyarn bot package:start
-- start the package
If there is an issue,yarn bot package:debug
gives a shell in the container.- Bot should appear online and respond to messages
yarn bot package:cleanup
Delete image when done
yarn ui package
-- build + packageyarn ui package:start
-- start the package
If there is an issue,yarn ui package:debug
gives a shell in the container.- Visit http://localhost:3000
yarn ui package:cleanup
Delete image when done
TODO: Overview of packaging + deployment process
Rollem's engine is packaged as a library that can be used in other projects.
TODO: Instructions on how to do this. Sample project.