Poker-Bot is a Discord bot designed to facilitate poker games, providing utilities like equity calculation, bank management, and interactive gameplay. It is built for poker enthusiasts and developers interested in poker-related bot development.
To use the Poker-Bot in your Discord server, invite the bot to your server and ensure it has the necessary permissions to read and send messages.
!equity
: Calculates the equity for specified hands and board.hero:RSRS villain:RSRS board:RSRSRSRSRS runs:INT
hero
: Hero's hand, specified as RSRS
where R
is the rank (2-9,T,J,Q,K,A) and S
is the suit (s,c,h,d).villain
: Villain's hand, in the same format as the hero's hand.board
: The board cards, specified as RSRSRSRSRS
for five cards.runs
: (Optional) Number of simulations to run for equity calculation, default is 10,000.
!command VALUE PLAYER PLAYER PLAYER
!startgame
: Initiates a new poker game session.
PLAYERbuyin
PLAYER
: Name of the player to add.buyin
: The amount of money the player is buying into the game with.!add
: Adds players to the game with their buy-in.
PLAYERbuyin
PLAYER
: Name of the player to add.buyin
: The amount of money the player is buying into the game with.!cashout
: Records players' cashouts.
PLAYERamount
PLAYER
: Name of the player to cash out.amount
: The amount of money the player is cashing out.!rebuy
: Manages rebuys for players in the game.
PLAYERamount
PLAYER
: Name of the player rebuying.amount
: The rebuy amount for the player.!paid
: Marks a player's debts as settled.
player
player
: Name of the player who has paid their debts.pip install -r requirements.txt
..env
file with your Discord bot token as DISCORD_TOKEN
.main.py
: Entry point for the bot, handling Discord events and commands.classes.py
: Contains core poker-related classes and logic, including deck handling and hand evaluation.gamebank.py
: Manages game states, including players, buy-ins, and cashouts.responses.py
: Processes commands and generates responses for user interactions.equity_tests.py
: Contains unit tests for the equity calculation functionality.I plan on optimizing the current features and adding new ones. If you'd like to contribute, please fork the repository and submit a pull request with your changes.
For support or inquiries, please open an issue on the GitHub repository or reachout to me via email.