Sportsbook & Wagers

Two entirely separate stake systems live under the betting umbrella:

  • /bet — sportsbook-style spreads + over/unders against an algorithmic line. Members put up XP against the house.
  • /wager — head-to-head between two members. Each side stakes XP; whoever's team wins takes the whole pot.

Sportsbook flow

  1. Bot computes a spread + over/under for every unplayed game in the league based on standings, recent scoring, and home-field advantage.
  2. /bet opens an ephemeral panel — pick a side and amount.
  3. After the game finishes (postgame export), the bot settles automatically: winners get paid, losers get debited.
  4. /bet active lists open + recent settled bets; /bet history is the long view.

Wager flow

  1. /wager <opponent> <amount> issues a head-to-head challenge.
  2. The opponent gets an ephemeral accept/decline button.
  3. On accept, both stakes lock; both balances debit immediately.
  4. After the game, the winner's team receives the full pot.

Game-locked betting

Once a game's timesPlayed reaches 1, the bot rejects any new bet/wager on that matchup with an explicit "this game has already been played" reply. This was added after a session where late-arriving bets resolved against an already-completed game.

What you can tune

The per-command settings page exposes:

  • Min/max bet size
  • Max wager size
  • Bet cooldown per user
  • Auto-disable threshold (if a game's odds move > X%, lock new bets)
  • Bet-settlement channel