A Discord bot to keep track of Pokémon Showdown progress and stats.
- Track multiple players stats over time
- Automatically update tracked players' stats at configurable intervals
- Store player stats in CSV files for data analysis
- Discord slash commands
- Persist tracked players and update interval between bot restarts
- Graph tracking
/stats <player>: Fetch and display current stats for a player in all categories/track <player>: Start tracking a player's stats in all categories/untrack <player>: Stop tracking a player's stats/list_tracked: Display a list of all currently tracked players/set_update_interval <minutes>: Set the interval for automatic stat updates
Sample command: /stats cdkw2
-
Clone this repository:
git clone https://github.com/cdkw2/showdown-bot cd showdown-bot -
Install the required dependencies:
pip install discord.py aiohttp beautifulsoup4 -
Create a
token.txtfile in the project directory and paste your Discord bot token into it. -
Run the bot:
python showdown.py
- The default update interval for tracked players is 5 minutes. You can change this using the
/set_update_intervalcommand. - Stats for tracked players are stored in CSV files named
<player>_<category>_stats.csvin theplayer_statsfolder. - The bot configuration (tracked players and update interval) is stored in
bot_config.jsonand persists between bot restarts. - Player stats are stored in CSV files in a
player_statsfolder, with separate files for each player and category. - The bot configuration is stored in
bot_config.jsonin the main directory.
Contributions are welcome! Please feel free to submit a Pull Request or shoot me a dm on discord.
This bot is not officially affiliated with Pokémon Showdown. Use it responsibly and in accordance with Pokémon Showdown's terms of service.