diff options
| author | salmonik <raisersoft@proton.me> | 2026-04-19 17:41:05 +0200 |
|---|---|---|
| committer | salmonik <raisersoft@proton.me> | 2026-04-19 17:41:05 +0200 |
| commit | 920d4b18e253f5642b895a1205d9826d54570db8 (patch) | |
| tree | 8539d6e633bee7e2a2f74e5bd725d6a49e7268d1 /AGENTS.md | |
| parent | readd main.py (diff) | |
| download | senator-sperma-920d4b18e253f5642b895a1205d9826d54570db8.tar.gz senator-sperma-920d4b18e253f5642b895a1205d9826d54570db8.zip | |
feat: add external URL playback support, fix vclogs audio handling
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..44be9d5 --- /dev/null +++ b/AGENTS.md | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | # Agent Instructions for Senator Sperma | ||
| 2 | |||
| 3 | ## Required Setup | ||
| 4 | - Requires **Python 3.13** (3.14 not supported - py-cord incompatibility) | ||
| 5 | - System dependencies: `ffmpeg`, `zbar` library (installed system-wide) | ||
| 6 | - Bot token in `.env` file (copy from `.env.example`) | ||
| 7 | |||
| 8 | ## Commands | ||
| 9 | - Run bot: `.venv/bin/python main.py` | ||
| 10 | - Type check: `.venv/bin/basedpyright` | ||
| 11 | - Test: `.venv/bin/pytest` | ||
| 12 | |||
| 13 | ## Architecture | ||
| 14 | - Slash commands defined as cogs in `cogs/*.py` | ||
| 15 | - Discord API uses `discord.ApplicationContext` | ||
| 16 | - Music auto-complete queries copyparty server (`COPYPARTY_URL` config) | ||
| 17 | |||
| 18 | ## Environment | ||
| 19 | - Copyparty URL for read-only access is COPYPARTY_URL | ||
| 20 | - Copyparty URL for write-only access is COPYPARTY_URL_UPLOAD | ||
| 21 | - Above should be accessed using COPYPARTY_PASSWORD as a cookie | ||
| 22 | - Channel for vclogs and alike is STATUS_CHANNEL_ID | ||
| 23 | - Trigger word for assistant is ASSISTANT_KEYWORD | ||
| 24 | |||
| 25 | ## Testing | ||
| 26 | - Tests in `tests/cogs/test_*.py` | ||
| 27 | - Uses pytest-asyncio with `asyncio_default_fixture_loop_scope = function` | ||
| 28 | - `conftest.py` provides fixtures for mocking Discord objects | ||
