Телеграм-бот тоталізатор для Чемпіонату світу з футболу 2026
Розроблено та розгорнуто повноцінного Telegram-бота для проведення турніру прогнозів серед учасників закритої групи в період Чемпіонату світу 2026.
Що реалізовано:
Бот автоматично відстежує всі матчі турніру, приймає ставки від учасників, розраховує очки та публікує підсумки в груповий чат одразу після фінального свистка. Учасники роблять два типи прогнозів на кожен матч — на переможця (1 очко) та на точний рахунок (3 очка).
Технологічний стек:
Python 3.12 + aiogram 3.x — асинхронний Telegram-бот з inline-клавіатурами, callback-обробниками та системою станів
aiosqlite — асинхронна робота з SQLite: матчі, ставки, користувачі, леджер транзакцій
Docker + DigitalOcean VPS — контейнеризоване розгортання на Ubuntu-сервері, автоматичний перезапуск при падінні
football-data.org API — офіційне джерело розкладу матчів, статусів та фінальних рахунків (104 матчі турніру)
ESPN Unofficial API — друге джерело даних в реальному часі для оновлення live-рахунку кожні 2 хвилини під час матчу, без API-ключа
Make.com Webhook → Google Sheets — після кожного завершеного матчу результати та ставки автоматично документуються в таблицю
Подвійна синхронізація рахунку — ESPN оновлює рахунок першим (пріоритет), football-data.org оновлює лише статус матчу, не перезаписуючи актуальні дані
Ключові функції:
Прийом та скасування ставок з вікном зміни 10 хвилин
Сховання чужих прогнозів до закінчення вікна (захист від копіювання)
Автоматичний розрахунок та нарахування очок з публікацією в групу
Таблиця лідерів в реальному часі
Система підтвердження оплати участі з повідомленнями
Прив'язка посилань на трансляції до матчів через адмін-команду
Атомарний захист від подвійного розрахунку одного матчу (race condition)
Інтеграція з USDT TRC-20, Aptos та Bybit як способи оплати
Що реалізовано:
Бот автоматично відстежує всі матчі турніру, приймає ставки від учасників, розраховує очки та публікує підсумки в груповий чат одразу після фінального свистка. Учасники роблять два типи прогнозів на кожен матч — на переможця (1 очко) та на точний рахунок (3 очка).
Технологічний стек:
Python 3.12 + aiogram 3.x — асинхронний Telegram-бот з inline-клавіатурами, callback-обробниками та системою станів
aiosqlite — асинхронна робота з SQLite: матчі, ставки, користувачі, леджер транзакцій
Docker + DigitalOcean VPS — контейнеризоване розгортання на Ubuntu-сервері, автоматичний перезапуск при падінні
football-data.org API — офіційне джерело розкладу матчів, статусів та фінальних рахунків (104 матчі турніру)
ESPN Unofficial API — друге джерело даних в реальному часі для оновлення live-рахунку кожні 2 хвилини під час матчу, без API-ключа
Make.com Webhook → Google Sheets — після кожного завершеного матчу результати та ставки автоматично документуються в таблицю
Подвійна синхронізація рахунку — ESPN оновлює рахунок першим (пріоритет), football-data.org оновлює лише статус матчу, не перезаписуючи актуальні дані
Ключові функції:
Прийом та скасування ставок з вікном зміни 10 хвилин
Сховання чужих прогнозів до закінчення вікна (захист від копіювання)
Автоматичний розрахунок та нарахування очок з публікацією в групу
Таблиця лідерів в реальному часі
Система підтвердження оплати участі з повідомленнями
Прив'язка посилань на трансляції до матчів через адмін-команду
Атомарний захист від подвійного розрахунку одного матчу (race condition)
Інтеграція з USDT TRC-20, Aptos та Bybit як способи оплати