-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
- Check the bot logs:
docker compose logs -f botorpodman compose logs -f bot. - Confirm
.envexists at the repository root after runningutils/init.sh. - Confirm required values from
utils/.env.exampleare filled, especiallyDISCORD_TOKEN,SUPABASE_API_KEY,POSTGRES_PASSWORD, andDATABASE_URL. - Confirm the database service is healthy; the bot waits for the PostgreSQL healthcheck.
Do not paste real .env values, tokens, or credentials into chat or issue trackers.
- Check database logs with
docker compose logs -f dborpodman compose logs -f db. - Ensure
POSTGRES_PASSWORDis set; Compose requires it. - The database binds to
127.0.0.1:5432for local host access only. Bot-to-database traffic uses the internal Compose network anddb:5432. - If using an existing volume, verify required migrations were applied in order.
Check app/logs/ or container logs for the exception. Common causes are missing Discord permissions, unavailable Battlevive/Supabase API credentials, or database connectivity problems.
The bot could not find a synced user row linked to your Discord ID. Confirm the Battlevive account exists, its Discord username can be matched to the Discord member, and ask an admin to run /refresh.
/config leaderboard channel only accepts text or announcement/news channels. The bot must have View Channel, Send Messages, Attach Files, and Read Message History in the selected channel.
/config leaderboard limit accepts values from 1 through 50. Omit the amount to use the maximum of 50.
- Run
/create_rolesto create the rank roles andBattlevive Playerrole. - Ensure the bot has Manage Roles and its highest role is above the roles it needs to manage.
- Run
/refreshafter roles and permissions are fixed. - Check logs for member matching failures or Discord permission errors.
Container initialization SQL is only automatic for fresh PostgreSQL volumes. Apply missing idempotent migration files manually and in numeric order, for example:
psql "$DATABASE_URL" -f app/init-db/04_guild_config.sql
psql "$DATABASE_URL" -f app/init-db/05_leaderboards.sql
psql "$DATABASE_URL" -f app/init-db/06_leaderboard_disk_cache.sql/debug_get_db_data and /debug_get_battlevive_data write and return JSON dumps of users, lobbies, and ratings. Use them only for controlled diagnostics. The output can contain synced user and match data; do not share it publicly.