Archipelago -> Discord webhook tracker bot
- TypeScript 97.3%
- Dockerfile 2.7%
| src | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| Dockerfile | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
APBot
Simple Archipelago Multiworld tracker bot that sends events to a Discord webhook. User mentions can be configured per-slot to notify for all/progression/useful/no items.
Configuration
An example configuration file is provided below. Note that all slots must be
included, otherwise APBot will crash. slotName defines the slot that the
tracker will log in as. Password protection is not currently supported.
{
"webhookUrl": "https://discord.com/api/webhooks/1234567890123456789/TOKEN_HERE",
"archipelagoUrl": "ws://example.com:38281",
"slotName": "Player1",
"players": {
"Player1": { "id": "123456789012345678", "mode": "All" },
"Player2": { "id": "123456789012345679", "mode": "None" },
"Player3": { "id": "123456789012345680", "mode": "Useful" },
"Player4": { "id": "123456789012345681", "mode": "Progression" }
}
}
Docker Compose example
Prepare a directory that will be used to store the configuration file and the
death tracking database, then save the configuration as config.json inside the
directory. A named volume can be used too, but may be more annoying to set up in
practice.
services:
# ...
apbot:
build:
context: /path/to/apbot-repository
restart: unless-stopped
volumes:
- ./data:/app/data