From 920d4b18e253f5642b895a1205d9826d54570db8 Mon Sep 17 00:00:00 2001 From: salmonik Date: Sun, 19 Apr 2026 17:41:05 +0200 Subject: feat: add external URL playback support, fix vclogs audio handling --- AGENTS.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 AGENTS.md (limited to 'AGENTS.md') diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..44be9d5 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,28 @@ +# Agent Instructions for Senator Sperma + +## Required Setup +- Requires **Python 3.13** (3.14 not supported - py-cord incompatibility) +- System dependencies: `ffmpeg`, `zbar` library (installed system-wide) +- Bot token in `.env` file (copy from `.env.example`) + +## Commands +- Run bot: `.venv/bin/python main.py` +- Type check: `.venv/bin/basedpyright` +- Test: `.venv/bin/pytest` + +## Architecture +- Slash commands defined as cogs in `cogs/*.py` +- Discord API uses `discord.ApplicationContext` +- Music auto-complete queries copyparty server (`COPYPARTY_URL` config) + +## Environment +- Copyparty URL for read-only access is COPYPARTY_URL +- Copyparty URL for write-only access is COPYPARTY_URL_UPLOAD +- Above should be accessed using COPYPARTY_PASSWORD as a cookie +- Channel for vclogs and alike is STATUS_CHANNEL_ID +- Trigger word for assistant is ASSISTANT_KEYWORD + +## Testing +- Tests in `tests/cogs/test_*.py` +- Uses pytest-asyncio with `asyncio_default_fixture_loop_scope = function` +- `conftest.py` provides fixtures for mocking Discord objects -- cgit v1.2.3