The other players at the table aren’t random button-mashers. Each bot is range-based, and it only sees the same cards you would.
Personality first. Every bot rolls one of four types: TAG (plays few hands, bets them hard), LAG (plays more, bluffs more, re-raises a lot), calling station (calls too much, rarely folds), or rock (premium hands only, almost never bluffs). That’s why one seat limp-calls forever and the next one three-bets you off a pot.
Before the flop: Chen scores. Starting hands get ranked with Bill Chen’s formula. Pocket aces sit near 20, 7-2 offsuit sits near −1. That score becomes a percentile out of all 1,326 two-card combos. Bots open more hands when fewer people are left to act, so they play position.
Short-stacked: Nash push/fold. Under about 12 big blinds they stop min-raising and switch to all-in-or-fold charts. Same idea tournament pros use when the blinds are eating the stack.
After the flop: Monte Carlo equity. They run the hand ~300 times against what you probably hold, then compare that win chance to the pot odds. A big raiser is assumed to have a stronger range than a random hand. Strong hands bet half to three-quarters pot; if they’re short, they shove instead of leaving a sliver behind.
They also bluff like people do: continuation bets after they raised preflop, stabs when everyone checks, the occasional raise. The randomness is on purpose, so they’re harder to read. They never see your hole cards or the cards still to come.
That’s the table in r/PokerRivals. Take a seat and see if you can put a name on who’s who.