Discord bot for Altitude Interactive, built with discord.py 2.7+.
- Python 3.11+
- Create a virtual environment
- Install dependencies
- Copy
.env.exampleto.env - Fill in the real values
Git Bash:
python -m venv .venv
source .venv/Scripts/activate
pip install -e .PowerShell:
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -e .python -m altitude_discord_botLocal terminal runs default to verbose logging when ALTITUDE_ENV is not production. To keep production logs at the normal level, set:
ALTITUDE_ENV=productionYou can also force a specific level with:
LOG_LEVEL=DEBUGOr keep debug output only for this bot's own loggers (suppress discord.* debug noise):
LOG_LEVEL=INTERNAL_DEBUGSynchronize slash commands globally:
python -m altitude_discord_bot --syncSynchronize slash commands to every guild the bot is currently in:
python -m altitude_discord_bot --sync-all-guildsSynchronize slash commands globally:
python -m altitude_discord_bot --sync-globalSynchronize slash commands only to the configured main guild:
python -m altitude_discord_bot --sync-mainBuild the image:
docker build -t altitude-discord-bot .Run the bot:
docker run --rm \
--env-file .env \
altitude-discord-bot- startup logging
- verbose command and service trace logging by default for non-production terminal runs
- optional slash command sync for the main guild, all guilds, or globally
/ping/team preview/team refresh/team status- daily team sync task for Highlanders avatar publishing through the team service path