Language models are very good at the part of a chat bot that used to be the worst part: working out what someone meant. "put two bucks on the dice, 3x", "$2 dice 3×" and "dice 2 at three times" are one request. A menu needs three screens to collect what that sentence says in one line.
They are bad at a different part: numbers nobody handed them. Ask a model for a balance or a payout and it can answer fluently and wrongly, in the same tone either way. That's fine in a trivia bot. Next to money it disqualifies the model.
When we built the Telegram chat for Betkyo (@BetkyoPlayBot), we split the job along exactly that line.
Step 1: the model returns a reading, not an answer
The model sees the player's message and returns a small structured reading, plus one line of prose in a host's voice:
{ "intent": "dice_bet", "stake": "2.00", "target": { "multiplier": 3 }, "reply_line": "Three times it is." } That's all it produces, and nothing it writes is shown to the player as a figure.
Step 2: the server prices it
Everything with a number in it is looked up again by the system that owns it: the balance, the per-bet and per-day limits for chat money, the roll-under target that gives ×3, the exact payout. If the reading doesn't survive that (the stake is over the limit, the game doesn't exist, the match isn't on the board), there's no bet, just a reply.
The host's line is checked too. If it contains a figure, it's dropped, so the model can't slip a number in through the prose.
Step 3: a card, not a bet
What the player gets back is a card: "Dice · $2.00 USDT · Under 33.00 pays $6.00 (×3)", with Place bet and Cancel. The card works once and expires after 60 seconds. Nothing is placed until the tap.
Sports use the same flow, and there the card does a second job: it turns the bet into words. "lots of goals in the Red Lions game" comes back as "you win if 3 or more goals in the match". If the price moves between the card and the tap, nothing is taken and a new card shows the new price.
What this buys
- A misread sentence costs one cancelled card, never money.
- A message, however clever, can only lead to a card, and only the account owner's tap places it.
- The model can be swapped or upgraded without touching anything that handles money.
The rule fits in one sentence: the model understands, the server decides what's true, and the player decides what happens.
The longer write-up, with the sports flow and the chat's limits: https://betkyo.com/en/blog/an-ai-host-that-is-not-allowed-to-say-a-number-how-betkyos-telegram-chat-turns-a-sentence-into-a-bet/?utm_source=devto&utm_medium=referral&utm_campaign=journal
18+. Written with AI assistance and reviewed by the Betkyo team.

