denBot
A queue bot to enable multiple (default 4) Pokémon players to go on an adventure together via Discord.
Features
Users can join and leave a queue. When the queue is full users are DMed a code to join the in-game lobby. They have access to a private text channel in the discord server that the captain can manually delete when ready, or that will be automatically removed after a period of time.
Commands:
- q - Join the queue
- q pokemon ign - Join the queue (first player can set the pokemon and their in-game name)
- lq - Leave the queue
- sq - Show the queue
- cq - Clear the queue (admin-only, not to be shared with normal users)
- ru - Remove a tagged user from the queue (admin-only, not to be shared with normal users)
- dc - Delete an adventure channel (only the captain can use this)
- help - Show all user commands
- adminhelp - Show all admin commands
Installing Docker
If you're on Windows, visit this website and download and install Docker Desktop. You'll probably need to install WSL and do some Windows updates. Once it's all installed you'll get a lovely GUI that you can use if you want to.
For Mac and Linux users, Google is your friend here.
Dockerize the bot
To build a docker image, open a command window in the project directory and run:
docker build -t denbot .
For a sanity check, you can run docker images and it should be displayed in that list.
Running the Docker container
Running the bot with -d runs the container in detatched mode (as in it runs in the background). If you want to see what is happening, remove that option.
docker run -d denbot
You can use CTRL+C to exit out of this command window. If you're using Windows, Docker Desktop will now show your bot under 'Containers/Apps', from where you can easily stop and start it using the GUI.
More information
If you want more of a sanity check here are some following commands you can run the following commands:
- To view details of running containers:
docker ps - To view the container's logs (with a number instead of the <> section):
docker logs <our container's ID>
To access the command line inside the docker container you can run:
docker exec -it <container id> /bin/bash
Version 2.0 potential features
- Let three people agree to start early using a voting command, so they don't have to wait for a fourth person (all three must vote to start)