This document lists all requirements and dependencies for HazeBot.
- OS: Linux, Windows, macOS
- Python: 3.11 or higher
- RAM: 100MB minimum
- Storage: 50MB for bot + 50MB for logs/cache
- Network: Stable internet connection
- OS: Linux (Ubuntu 20.04+ or Debian 11+)
- Python: 3.11 or higher
- RAM: 256MB or more
- Storage: 200MB+ for logs and cache
- Network: Low-latency connection (< 100ms to Discord)
# Install with: pip install -r requirements.txt- discord.py 2.0+ - Discord API wrapper
- Flask 3.0+ - Web framework for REST API
- python-dotenv - Environment variable management
- requests - HTTP client for external APIs
- aiohttp - Async HTTP client
- PyJWT - JWT token handling
- rich - Rich console logging
- Pillow - Image processing for memes
- openai - For AI-powered changelog & todo formatting
- gunicorn - Production WSGI server for API
- psutil - System monitoring
Purpose: AI-powered formatting for changelogs and todo lists
Setup:
# Add to .env
OPENAI_API_KEY=sk-your-api-key-hereUsage:
- Changelog formatting with
/changelog format - Todo list emoji formatting with
/todo format
Purpose: Bypass Cloudflare protection for Rocket League stats
Setup:
# Docker
docker run -d \
--name=flaresolverr \
-p 8191:8191 \
ghcr.io/flaresolverr/flaresolverr:latest
# Add to .env
FLARESOLVERR_URL=http://localhost:8191Usage:
- Rocket League stats with
/rlstats - Required for tracker.gg scraping
Purpose: Send ticket transcripts via email
Setup:
# Add to .env
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASSWORD=your-app-password
SMTP_FROM=your-email@gmail.comUsage:
- Email transcripts when tickets are closed
- Automatic archiving with email backup
Gmail App Password:
- Enable 2FA on your Google account
- Go to https://myaccount.google.com/apppasswords
- Generate app password for "Mail"
- Use that password in
SMTP_PASSWORD
Purpose: Authentication and push notifications for Flutter admin panel
Setup: See HazeBot-Admin FIREBASE_SETUP.md
- Discord Bot Token - From https://discord.com/developers/applications
- Discord Guild ID - Your server ID (enable Developer Mode in Discord)
- OpenAI API Key - From https://platform.openai.com/api-keys
- Rocket League API - FlareSolverr (see above)
- Warframe Market API - No key required (public API)
# Create virtual environment
python -m venv .venv
# Activate (Linux/macOS)
source .venv/bin/activate
# Activate (Windows)
.venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy environment template
cp .env.example .env
# Edit .env with your tokens
nano .env# Install system dependencies (Ubuntu/Debian)
sudo apt update
sudo apt install python3.11 python3.11-venv python3-pip
# Create dedicated user
sudo useradd -m -s /bin/bash hazebot
# Clone repository
sudo -u hazebot git clone https://github.com/inventory69/HazeBot.git /home/hazebot/HazeBot
# Setup environment
cd /home/hazebot/HazeBot
sudo -u hazebot python3.11 -m venv .venv
sudo -u hazebot .venv/bin/pip install -r requirements.txt
# Configure
sudo -u hazebot cp .env.example .env
sudo -u hazebot nano .env
# Optional: Install API dependencies
sudo -u hazebot .venv/bin/pip install -r api_requirements.txt
sudo -u hazebot .venv/bin/pip install gunicorn- No ports required (outbound connections only)
- 5070 - Flask API (default, configurable in Config.py)
- 443 - HTTPS (if using reverse proxy)
- No ports required (tunnel handles routing)
- No installation required (built into Python)
- Database files stored in
Data/directory - Automatic creation on first run
Data/memes.db- Meme trackingData/tickets.db- Support ticketsData/users.db- User profilesData/warnings.db- Moderation warnings
- Bot files: ~10MB
- Dependencies: ~40MB
- Logs: 5-20MB per month
- Cache: 10-50MB (auto-cleaned)
- Databases: 5-50MB (depends on usage)
- Minimum: 100MB free
- Recommended: 500MB+ free
- Production: 1GB+ free for growth
- Idle: < 1KB/s
- Active: 10-50KB/s
- Heavy load: 100-500KB/s
- Discord API: wss://gateway.discord.gg
- Tracker.gg: https://tracker.gg (Rocket League)
- Warframe Market: https://api.warframe.market
- OpenAI API: https://api.openai.com (optional)
# Check Python version
python --version # Should be 3.11+
# If wrong version, specify
python3.11 --version# Reinstall all dependencies
pip install --upgrade -r requirements.txt
# Check installed packages
pip list# Fix permissions (Linux)
sudo chown -R hazebot:hazebot /home/hazebot/HazeBot
sudo chmod -R 755 /home/hazebot/HazeBot# Check what's using port 5070
sudo lsof -i :5070
# Kill process if needed
sudo kill -9 <PID>- 📖 Bot Setup Guide - Discord bot installation & configuration
- 📱 Admin Panel Setup - Web/mobile interface setup
- 🏗️ Architecture - Technical architecture details
- 🚀 Deployment - Production deployment