Initial commit: README with project plan and todo list
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
78
README.md
Normal file
78
README.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Lotus Matrix Bot
|
||||
|
||||
Matrix bot for the Lotus Guild homeserver (`matrix.lotusguild.org`), built with `matrix-nio`.
|
||||
|
||||
## Status: Planning
|
||||
|
||||
## Todo
|
||||
|
||||
### Core Setup
|
||||
- [ ] Project scaffolding (`bot.py`, config, `.env`, requirements)
|
||||
- [ ] matrix-nio async client with E2EE support
|
||||
- [ ] Device verification / trust storage
|
||||
- [ ] Logging (rotating file + stdout, matching Discord bot pattern)
|
||||
- [ ] Config validation (homeserver URL, access token, room IDs)
|
||||
- [ ] Graceful shutdown and reconnection handling
|
||||
|
||||
### Command Porting (from Discord bot)
|
||||
- [ ] `!help` - List all available commands
|
||||
- [ ] `!ping` - Bot latency check
|
||||
- [ ] `!8ball <question>` - Magic 8-ball
|
||||
- [ ] `!fortune` - Fortune cookie message
|
||||
- [ ] `!flip` - Coin flip
|
||||
- [ ] `!roll <NdS>` - Dice roller
|
||||
- [ ] `!random <min> <max>` - Random number generator
|
||||
- [ ] `!rps <choice>` - Rock Paper Scissors
|
||||
- [ ] `!poll <question>` - Poll (using reactions)
|
||||
- [ ] `!trivia` - Trivia game (using reactions for answers)
|
||||
- [ ] `!agent` - Random Valorant agent picker
|
||||
- [ ] `!champion` - Random LoL champion picker
|
||||
- [ ] `!problem` - Canada geese appreciation
|
||||
|
||||
### Integrations
|
||||
- [ ] `!minecraft <username>` - RCON whitelist (Mojang API validation + RCON)
|
||||
- [ ] `!hytale <username>` - Hytale whitelist request (audit log to admin room)
|
||||
- [ ] `!ask <question>` - Ollama LLM integration (lotusllm model)
|
||||
|
||||
### Media Commands
|
||||
- [ ] `!kill @user` - Kill GIF
|
||||
- [ ] `!punch @user` - Punch GIF
|
||||
- [ ] `!hug @user` - Hug GIF
|
||||
- [ ] `!revive @user` - Revive GIF
|
||||
- [ ] Media file management (GIF storage and random selection)
|
||||
|
||||
### Admin Commands
|
||||
- [ ] `!clear <count>` - Redact messages (requires power level)
|
||||
- [ ] `!health` - Bot stats (uptime, command counts, service status)
|
||||
- [ ] Power level checks (Matrix equivalent of Discord role checks)
|
||||
|
||||
### Audit Logging
|
||||
- [ ] Member join/leave events
|
||||
- [ ] Message edits and redactions
|
||||
- [ ] Room state changes
|
||||
- [ ] Batched audit log posting to admin room
|
||||
|
||||
### Deployment
|
||||
- [ ] Systemd service (`matrixbot.service`)
|
||||
- [ ] Auto-deploy from Gitea webhook (matching Discord bot pattern)
|
||||
- [ ] Deployment script (`/usr/local/bin/matrix_bot_deploy.sh`)
|
||||
- [ ] Determine host LXC (new container or colocate with Synapse on 10.10.10.205)
|
||||
|
||||
### Not Porting (Discord-specific)
|
||||
- Reaction roles (no Matrix equivalent)
|
||||
- Status cycling (Matrix presence is simpler)
|
||||
- Guild-specific event handlers (channel create/delete, boost, etc.)
|
||||
|
||||
## Tech Stack
|
||||
- **Language**: Python 3
|
||||
- **Library**: matrix-nio (with E2EE)
|
||||
- **Homeserver**: matrix.lotusguild.org (Synapse on 10.10.10.205)
|
||||
- **Dependencies**: matrix-nio[e2ee], aiohttp, python-dotenv, mcrcon
|
||||
|
||||
## Production Server
|
||||
- **Host**: TBD
|
||||
- **Bot Directory**: TBD
|
||||
- **Service**: `matrixbot.service`
|
||||
|
||||
## Gitea
|
||||
- **Repo**: https://code.lotusguild.org/LotusGuild/matrixBot
|
||||
Reference in New Issue
Block a user