Skip to content

Bot Architecture

Dominique Devereaux edited this page Aug 24, 2026 · 2 revisions

Violet's Revenge runs two bot systems in the Discord server.

Violet_88 (ibloud/violets-revenge repo)

  • violet_bot.py — autonomous message listener; Violet reacts to card mentions in her channels without needing commands
  • violetAI.js — chess-only AI; handles chess move logic for Violet
  • violetCardsAI.js — dedicated card game AI; separated from violetAI.js after a bug where the chess engine was incorrectly called from the card exhibition loop (TypeError reading board[r][c] since the card game has no board property)

Pennywise / Sewers and Shadows Bot (ibloud/sewers-and-shadows-bot) Separate repo from Violet's bot. Has a bot folder containing:

  • float-chess-engine.js
  • test-float-chess.js
  • config folder
  • src folder

More built out than Violet's side. Pennywise was designed to play both chess and cards with Violet.

Known Issues and Fixes

  • Narration failures (Narration hiccupped this turn) were caused by a malformed ANTHROPIC_API_KEY value in Railway — Headers.append TypeError. Fixed by re-entering the key cleanly with no quotes or whitespace.

  • The hybrid trigger approach for exhibition matches: timer-based as the default cadence, plus a join-triggered check that starts a game if none is active or the last one finished more than a cooldown window ago.

  • AiGuild bot was removed from the server entirely — not providing useful functionality.

Related Pages

Clone this wiki locally