Real Madrid jamoasi o'yinlari bo'yicha ma'lumot beradigan Telegram bot.
/start- ro'yxatdan o'tish (kontakt ulashish) va ruxsat kutish- Admin tasdiqlashi (approve/reject) orqali kirish nazorati
- Dashboard: o'tgan/kelayotgan o'yin, La Liga/CHL bo'yicha filtrlash, jadval, so'nggi/kelasi 5 o'yin, tarkib
/sub,/unsub- obuna (o'yin xabarlari)/next- kelgusi o'yin- Kelgusi o'yin xabarnomasi (notifier loop)
- Live event xabarlari (gol, kartochka, almashtirish)
- O'yin natijasi xabarnomasi
- Eslatmalar (o'yinga 180/60/20 daqiqa qolganda va boshlanganda)
- Admin panel:
/admin(users, broadcast, statistika, rollar)
- Python 3.10+ (tavsiya)
- Telegram bot token
- football-data.org API token (Real Madrid match data uchun)
Windows (PowerShell):
- Virtual environment:
python -m venv .venv ..venv\Scripts\Activate.ps1
- Kutubxonalar:
pip install -r requirements.txt
Token va sozlamalar config.py ichida emas, ENV orqali olinadi.
Minimal ENV:
BOT_TOKEN- Telegram bot tokenFOOTBALL_DATA_TOKEN- football-data.org token
Ixtiyoriy ENV:
ADMIN_ID- admin TG ID (default: 830653176)SUPER_ADMIN_IDS- vergul bilan ajratilgan TG ID lar (masalan:830653176,123456789)REAL_MADRID_TEAM_ID- football-data team id (default: 86)TZ_NAME- timezone (default:Asia/Tashkent)CHECK_INTERVAL- loop interval (soniya, default: 100)SPORTSDB_API_KEY(default:1)SPORTSDB_REAL_MADRID_ID(default:133728)
Misol (PowerShell sessiya uchun):
$env:BOT_TOKEN="YOUR_TELEGRAM_BOT_TOKEN" $env:FOOTBALL_DATA_TOKEN="YOUR_FOOTBALL_DATA_TOKEN" python bot.py
.env.example fayli - namuna. Agar .env ishlatmoqchi bo'lsangiz, ENV'ni o'zingiz yuklang (masalan, terminal/prod service orqali).
python bot.py
Bot ishlaganda users.db avtomatik yaratiladi.
/admin- admin panel (role: super_admin / moderator)- Ruxsat so'rovlari admin'ga keladi, "Ruxsat berish / Rad etish" tugmalari orqali boshqariladi
Repo'da qolishi kerak:
.pyfayllarREADME.md,requirements.txt,.env.example,.gitignore
Repo'da qolmasligi kerak (allaqachon .gitignore ichida):
.venv/__pycache__/users.db(va boshqa*.db).env(tokenlar shu yerda bo'lsa)