A Discord Python bot that can manage Archipelago world data and generate new MultiWorlds all within Discord. Not officially affiliated with Archipelago.gg!
| app | ||
| .env_example | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
Archipelago MultiWorld Bot
A Discord Python bot that can manage Archipelago world data and generate new MultiWorlds all within Discord.
This bot does not include a pre-compiled release version of Archipelago in the repository, but it will automatically install the latest version available from the Github.
Not officially affiliated with Archipelago.gg!
This bot was created for fun for my friends, and I thought it'd be nice to share. If the developers of Archipelago.gg have an issue with this bot, I'll take it down. Please do not hammer their services with this bot!
Requirements
- Python 3.8+
- Docker
How To Setup
- Extract repository into new directory.
- Copy
.env_exampleto.envand add your Discord Bot Token to the file. - Run
docker compose up --build -d
How To Use
- Find a game you want to play in Archipelago.
- If you can't find the game you want searching in the
/get_templatecommand, you can upload the.apworldfile for the game to the bot using/add_world. It will automatically generate a template for the game after it's been uploaded, and you should be able to find it in/get_templateafterwards
- If you can't find the game you want searching in the
- Configure your YAML template file, and then upload it to the bot using
/upload_config - Once everyone has uploaded their templates and is ready, one person can execute the
/generate_multiworldcommand and the bot will do all the setup and return a link to the lobby. - After everyone completes their games and the lobby is finished, you can start a new MultiWorld by doing
/new_multiworld. This will delete all the old config data previously uploaded.
If you're unsure who's participating or if you don't remember if you uploaded your config file, you can check by doing the /current_users command.
ToDo
- Have python script install the latest version of Archipelago.
- Allow multiple MultiWorld instances to run in the same guild/server with custom generated IDs instead of relying on the guild ID. (Perhaps using a seed to be passed to Archipelago)
- Allow management of host.yaml settings within Discord, including admin password and generation settings