Repository navigation
v0.1.0 — Initial scaffold
Initial scaffold. Project structure, configuration, typed API client, and stub cogs. The bot connects to Discord and starts an HTTP server but does not yet send messages or record votes.
Added
- Project structure —
bot/package withmain.py,config.py,api_client.py;cogs/,services/,utils/sub-packages bot/config.py— Pydantic Settings reading from.env; all variables documented with defaultsbot/api_client.py— Asynchttpxwrapper for all Quest Board bot endpoints; sendsX-Bot-Keyheader; typed Pydantic response models for every endpoint (existing and to-be-added in v0.2.0)bot/main.py—QuestBoardBot(discord.pycommands.Botsubclass) with required intents; aiohttp HTTP server atPOST /notifyandGET /health; startup audio-temp cleanup; graceful API client shutdown- Cog stubs —
notifications,linking,voting,recordingcogs all load cleanly; slash commands/link,/unlink,/record start,/record stopregistered but return "coming soon" responses Dockerfile— Python 3.12-slim, FFmpeg, non-rootbotuserdocker-compose.yml—bot+whisperservices; audio temp volume;ollamaservice commented out (assumed running on home server)requirements.txt— pinned direct and transitive dependenciesrequirements.in— unpinned direct dependencies forpip-compilerequirements-dev.txt—pip-audit,pip-tools,pytest,pytest-asyncio,pre-commit.env.example— all variables with inline documentation.gitignore—.env, audio files, transcripts, Python artefacts