Files
obs-config/twitch-bot
Jakub Zych 131df13389 Twitch bot: per-user !skip cooldown + !queue + !info + Mattermost notifier
Chat commands:
- !skip:  per-user 60 s cooldown (was global 5 s). Each chatter gets one
          skip per minute; rejection includes a wait hint so users know
          it's their own gate.
- !queue: peek next 3 tracks from the MPD queue. Read-only, no cooldown.
- !info:  full metadata for now-playing — artist · title · album (year)
          · genre, with missing tags skipped to avoid empty parens.

Mattermost going-live notifier (optional, MM_HOOK env):
- Polls https://ophi118.com/api/status.json (the public service in
  station/server/) every 60 s and POSTs a single message to the
  configured Mattermost webhook on each offline→live transition.
- Transition detection keys on Twitch's started_at, not just the live
  flag, so a Helix flap inside one stream doesn't double-fire. Cold
  start mid-stream is intentionally silent — records the current
  started_at, awaits next genuine transition. Override the polled
  endpoint with STATUS_URL for private status services.

.env.example documents the new MM_HOOK / STATUS_URL knobs.
2026-04-27 03:45:10 +02:00
..