The ultimate Pika Network statistics Discord bot โ Track player stats, compare players, monitor guilds, view skins, and much more!
Invite Bot โข Report Bug โข Request Feature
Get detailed stats with auto-calculated ratios (KDR, WLR, FKDR, arrow accuracy) for:
| Game Mode | Command | Modes Available |
|---|---|---|
| ๐๏ธ BedWars | /bw |
Solo, Doubles, 3v3v3v3, 4v4v4v4, Ranked |
| โ๏ธ SkyWars | /sw |
Solo, Doubles, Mega, Ranked |
| ๐ฅ Unranked Practice | /practice |
Boxing, NoDebuff, Gapple, Sumo, BuildUHC, Combo, Debuff, Fist, Spleef |
| ๐ Ranked Practice | /ranked |
Boxing, NoDebuff, Gapple, Sumo, BuildUHC, Combo, Debuff, Fist, Spleef |
| โค๏ธ Lifesteal | /lifesteal |
All Modes |
| ๐ก๏ธ KitPvP | /kitpvp |
All Modes |
| ๐ฒ Survival | /survival |
All Modes |
| ๐๏ธ OP Skyblock | /opskyblock |
All Modes |
| ๐ด Classic Skyblock | /classicskyblock |
All Modes |
| โก OP Factions | /opfactions |
All Modes |
All stats support 4 time intervals: Total, Monthly, Weekly, Daily.
- Rank & Level with progress bar
- Online status detection
- Guild membership info
- Verification badges (Discord, Email, Booster)
- Minecraft avatar display
- Compare any two players side by side
- Color-coded indicators (๐ข Better, ๐ด Worse, ๐ก Tied)
- Auto-calculated ratio comparisons
- Quick shortcuts:
/bw-compare,/sw-compare
- Guild info โ Owner, level, creation date, member count
- Member list โ Full guild roster
- Guild tracking โ Real-time notifications when members join/leave
- Background monitoring every 5 minutes
- Full body render of Minecraft skins
- 3D head render
- 2D face avatar
- Download links for all formats
- Interactive help menu with dropdown categories
- Bot statistics โ Server count, uptime, latency
- Server info โ Discord server details
- Vote reminders โ Configurable daily DM reminders
- Ping checker โ WebSocket & API latency
Click to view screenshots
/bw PlayerName total solo
Shows BedWars stats with KDR, WLR, FKDR ratios, arrow accuracy, and leaderboard rankings.
/compare Player1 Player2 bedwars total ALL_MODES
Side-by-side comparison with color-coded indicators.
/profile PlayerName
Rich profile with rank, level progress bar, guild info, and online status.
/guild GuildName
Complete guild information with member roster.
- Python 3.10+ โ Download
- Discord Bot Token โ Create one
-
Clone the repository
git clone https://github.com/codewithriza/PikaStatsBot.git cd PikaStatsBot -
Create a virtual environment (recommended)
python -m venv .venv source .venv/bin/activate # Linux/macOS # or .venv\Scripts\activate # Windows
-
Install dependencies
pip install -r bot/requirements.txt
-
Configure the bot
cp .env.example .env
Edit
.envand add your Discord bot token:DISCORD_TOKEN=your_bot_token_here
-
Run the bot
python -m bot.bot
- Go to Discord Developer Portal
- Create a New Application
- Go to Bot โ Click Add Bot
- Copy the Token and paste it in your
.envfile - Enable these Privileged Gateway Intents:
- โ Message Content Intent
- Go to OAuth2 โ URL Generator:
- Scopes:
bot,applications.commands - Permissions:
Send Messages,Embed Links,Read Message History,Use External Emojis
- Scopes:
- Use the generated URL to invite the bot to your server
PikaStatsBot/
โโโ bot/
โ โโโ __init__.py
โ โโโ bot.py # Main bot entry point & setup
โ โโโ config.py # Configuration management
โ โโโ requirements.txt # Python dependencies
โ โโโ cogs/
โ โ โโโ __init__.py
โ โ โโโ stats.py # Game stats commands (10+ game modes)
โ โ โโโ profile.py # Profile, friends, skin, avatar commands
โ โ โโโ guild.py # Guild info, members, tracking commands
โ โ โโโ compare.py # Player comparison commands
โ โ โโโ utility.py # Help, ping, vote, bot info commands
โ โโโ utils/
โ โโโ __init__.py
โ โโโ api.py # Async Pika Network API wrapper with caching
โ โโโ embeds.py # Embed builder utilities
โโโ .env.example # Environment variable template
โโโ .gitignore # Git ignore rules
โโโ CONTRIBUTING.md # Contribution guidelines
โโโ LICENSE # MIT License
โโโ README.md # This file
| Command | Description |
|---|---|
/bw <player> [interval] [mode] |
BedWars statistics |
/sw <player> [interval] [mode] |
SkyWars statistics |
/practice <player> [interval] [mode] |
Unranked Practice statistics |
/ranked <player> [interval] [mode] |
Ranked Practice statistics |
/lifesteal <player> [interval] |
Lifesteal statistics |
/kitpvp <player> [interval] |
KitPvP statistics |
/survival <player> [interval] |
Survival statistics |
/opskyblock <player> [interval] |
OP Skyblock statistics |
/classicskyblock <player> [interval] |
Classic Skyblock statistics |
/opfactions <player> [interval] |
OP Factions statistics |
/stats <player> <game> [interval] [mode] |
Any game mode (generic) |
| Command | Description |
|---|---|
/profile <player> |
View player profile |
/friends <player> |
View friends list |
/skin <player> |
View Minecraft skin (full body) |
/avatar <player> |
View Minecraft head avatar |
| Command | Description |
|---|---|
/guild <name> |
View guild information |
/guild-members <name> |
List all guild members |
/guild-track <name> |
Track guild member changes |
/guild-untrack <name> |
Stop tracking a guild |
| Command | Description |
|---|---|
/compare <p1> <p2> [game] [interval] [mode] |
Compare two players |
/bw-compare <p1> <p2> [mode] |
Quick BedWars comparison |
/sw-compare <p1> <p2> [mode] |
Quick SkyWars comparison |
| Command | Description |
|---|---|
/help |
Interactive help menu |
/ping |
Check bot latency |
/vote |
Pika Network vote links |
/botinfo |
Bot statistics & info |
/serverinfo |
Discord server info |
/invite |
Bot invite link |
All configuration is done through environment variables (.env file):
| Variable | Required | Default | Description |
|---|---|---|---|
DISCORD_TOKEN |
โ Yes | โ | Your Discord bot token |
BOT_PREFIX |
No | ! |
Legacy command prefix |
OWNER_ID |
No | 0 |
Your Discord user ID |
VOTE_REMINDER_USER_ID |
No | 0 |
User ID for vote reminders (0 = disabled) |
VOTE_REMINDER_HOUR |
No | 18 |
Hour to send reminder (24h format) |
VOTE_REMINDER_TIMEZONE |
No | Asia/Kolkata |
Timezone for reminders |
PikaStatsBot uses the following Pika Network API endpoints:
GET https://stats.pika-network.net/api/profile/{player_name}
Returns: username, rank, level, experience, lastSeen, friends, clan, verification status.
GET https://stats.pika-network.net/api/profile/{player_name}/leaderboard?type={game}&interval={interval}&mode={mode}
- type:
bedwars,skywars,unrankedpractice,rankedpractice,lifesteal,kitpvp,survival,opskyblock,classicskyblock,opfactions - interval:
total,monthly,weekly,daily - mode:
ALL_MODES,solo,doubles, etc.
GET https://stats.pika-network.net/api/clans/{guild_name}
Returns: name, tag, owner, members, leveling, creationTime.
GET https://api.minetools.eu/uuid/{player_name}
GET https://crafatar.com/avatars/{uuid}
GET https://crafatar.com/renders/head/{uuid}
GET https://crafatar.com/renders/body/{uuid}
GET https://crafatar.com/skins/{uuid}
- Async-first โ All API calls use
aiohttpfor non-blocking I/O - Caching โ 2-minute TTL cache to reduce API load and improve response times
- Modular cogs โ Each feature area is a separate cog for maintainability
- Error handling โ Global error handler + per-command error handling
- Logging โ Structured logging to console and file
- Type hints โ Full type annotations throughout the codebase
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Quick start:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Test thoroughly
- Submit a Pull Request
This project is licensed under the MIT License โ see the LICENSE file for details.
PikaStatsBot is not affiliated with, endorsed by, or partnered with PikaNetwork. All data is fetched from publicly available API endpoints.
Made with โค๏ธ by codewithriza