77e43a6a38
- Created .gitignore to exclude unnecessary files - Added README.md with project description and core features - Introduced CONTRIBUTING.md for development guidelines - Established documentation files for architecture, quality requirements, and technical risks
1.1 KiB
1.1 KiB
Runtime View
Scenario: User Signs Up for Open Mic
- User runs
/sign-upin voice channel - Command Layer validates user has
@ComedyFanrole - Event Manager adds user to FIFO queue
- When previous speaker leaves stage (voice state change), Event Manager pops queue
- Bot grants temporary speaker permission via voice channel API
- Announcement sent to
#stage-doorchannel - Mileage Engine awards +50 miles for participation
Scenario: Content Auto-Post
- CRON job triggers Content Syndicator every 15 min
- Syndicator polls YouTube Data API for new uploads on channel
- New video detected → fetches metadata + thumbnail
- Syndicator builds rich embed (title, description, thumbnail, link)
- Embed posted to
#screeningschannel via Discord webhook - Mileage Engine awards +10 miles to channel subscribers
Scenario: Admin Updates Bot Restart
- Bot receives SIGTERM from hosting platform
- Graceful shutdown initiated: close Gateway connection, flush pending DB writes
- Bot process restarts
- On startup: reconnect to Discord Gateway, rehydrate in-memory state from DB
- Mileage state is consistent — no data loss