tootsies

a discord bot for the tootsies server. ask, recap, discuss, ship features by typing.


Project maintained by mejasonmejason Hosted on GitHub Pages — Theme by mattgraham

The engineering behind Toots

A Discord bartender that answers questions, runs a play-money sportsbook, calls live games, remembers its regulars, and ships its own code. These deep-dives are how the hard parts actually work — written for engineers who want the why.

A system map: one Discord bot on Claude, with nine surfaces — the @Toots brain, the Bookie, the live commentator, the markets backbone, voice and video, long-term memory, presence, the self-build /order loop, and starboard.


Start here — The Bookie

A play-money sportsbook that settles real games off three data providers that disagree on everything: provider-independent game identity, idempotent settlement that never pays the wrong team, a 3-second autocomplete over a 5-second fetch, and three feeds behind circuit breakers so it never goes dark.

The Bookie — place a public bet, the bot auto-settles off the final score, and pays the room.

Read the deep-dive →


The rest of the system

Each is its own deep-dive’s worth of engineering. The source is linked.

Surface The interesting part
@Toots brain Routes a question to live sports feeds, prediction markets, a music/chart reference library, or the web — under a grounding classifier that won’t let it invent a number. Answers in text, a generated image, a gif, or its own voice.
Live commentator Calls live matches in a sharp bartender voice — goals, halftime reads, final recaps — grounded in real box scores, odds, and player props, on a per-phase cadence engine.
Markets backbone The five-feed engine under everything sports — SGO, The Odds API, API-Sports, Polymarket, Kalshi — with per-feed circuit breakers, dynamic league discovery, and BM25-vs-semantic market search.
Voice & video Hears a voice note and talks back — even sings. Watches a shared YouTube/X clip and knows what was said: captions-first transcription, an fxtwitter bypass for X.
Long-term memory Remembers your regulars and does callbacks weeks later — semantic-vector recall over a behavior-fenced memory pyramid that won’t repeat what shouldn’t be repeated.
Presence Knows when to jump into a conversation and when to shut up — and when to break a dead room with an opener. The chime-in / quiet-room scorers.
Self-build · /order Type /order add a dad-joke command in Discord and minutes later it’s live — the bot files its own issue, writes the PR, runs CI, deploys, and pings you. It ships its own features.
Starboard Server hall-of-fame boards that survive nickname changes, on an incremental cache that scales to full server history.

Just here to use Toots, not build it? See what Toots can do →

Reference docs: ALGORITHMS.md · INTEGRATIONS.md · CLAUDE.md. Source: github.com/mejasonmejason/tootsies.