A Discord bot that monitors Steam games for updates, tracks player counts, and sends notifications about game changes, prices, and releases.
🎮 Game Tracking
- Monitor specific games for updates
- Get notified about price changes
- Track release dates and pre-orders
- Follow game announcements and patches
📊 Player Statistics
- View current player counts
- See top played games
- Track peak player numbers
- Search game statistics
🔔 Smart Notifications
- Price drop alerts
- Release date changes
- Pre-order availability
- Major game updates
- Python 3.8 or higher
- Discord Bot Token (from Discord Developer Portal)
- Steam Web API Key (from Steam Dev)
- Clone the repository
git clone [https://github.com/kozydot/steam-discord-bot.git](https://github.com/kozydot/Basic-Discord-Steam-Updates-Bot.git)
cd Basic-Discord-Steam-Updates-Bot- Create virtual environment (recommended)
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/Mac
python3 -m venv venv
source venv/bin/activate- Install dependencies
pip install -r requirements.txt- Set up configuration
# Copy example config
cp config.example.py config.py
# Edit config.py with your tokens
# OR use environment variables (recommended)- Configure environment variables
# Windows (Command Prompt)
set DISCORD_TOKEN=your_discord_token_here
set STEAM_API_KEY=your_steam_api_key_here
# Windows (PowerShell)
$env:DISCORD_TOKEN="your_discord_token_here"
$env:STEAM_API_KEY="your_steam_api_key_here"
# Linux/Mac
export DISCORD_TOKEN="your_discord_token_here"
export STEAM_API_KEY="your_steam_api_key_here"- Start the bot
python bot.py- Invite bot to your server
- Go to Discord Developer Portal
- Select your application
- Go to OAuth2 → URL Generator
- Select bot scope and required permissions
- Use generated URL to invite bot
!track <game>- Track a game for updatesExample: !track Starfield!track- View your tracked games
!playercount- Show top 10 most played games!playercount <game>- Check players for specific gameExample: !playercount Counter-Strike 2
!help- Show all commands and usage
The bot checks tracked games every 30 minutes for:
- Price changes (increases/decreases)
- Release date updates
- Pre-order availability
- Major announcements
- Patches and DLC releases
Real-time statistics include:
- Current player count
- 24-hour peak
- All-time peak
- Player trends
The bot sends notifications in your specified channel when:
- Tracked game prices change
- Release dates are updated
- Pre-orders become available
- Major updates are released
- Custom command prefix (default: !)
- Notification channel selection
- Role-based command permissions
- Region for prices and availability
- Update check frequency
- Notification preferences
steam-discord-bot/
├── bot.py # Main bot implementation
├── steam_api.py # Steam API integration
├── tracker.py # Game tracking system
├── utils.py # Utility functions
├── config.example.py # Configuration template
├── requirements.txt # Python dependencies
└── logs/ # Log files directory
-
Bot won't start
- Check if tokens are correctly set
- Verify Python version (3.8+ required)
- Ensure all dependencies are installed
-
Command not working
- Verify bot has required permissions
- Check command syntax
- Look for errors in logs/
-
No notifications
- Confirm bot has channel permissions
- Check if game is being tracked
- Verify notification settings
If you encounter issues:
- Check the logs in
logs/directory - Enable debug logging in config
- Create an issue on GitHub
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to your branch
- Create a Pull Request
- Never commit sensitive data
- Use environment variables for tokens
- Keep .env and config.py private
- Check .gitignore before committing
This project is licensed under the MIT License - see the LICENSE file for details.