Перейти к содержанию

[Python] Бот на пенальти в первом тайме


Рекомендуемые сообщения

Всех приветствую. В рамках изучения python ранее сделал бот на настольный теннис - BrcBet.Com - Ставки и Полезные Ресурсы.

Представляю вашему вниманию новый бот на футбол.

image.png.2894f827556557b6bdf2919e5610b567.png

Этот бот отслеживает футбольные матчи в режиме Live с сайта Flashscore и ищет игры, где был назначен и реализован пенальти в первом тайме (до 45 минуты).

🔧 Что делает бот:

  1. Парсит сайт Flashscore:

    • ищет матчи с промежуточным счётом 0:1 или 1:0;

    • проверяет, был ли пенальти в первом тайме.

  2. Отправляет уведомления в Telegram:

    • в канал/чат через Bot API;

    • сообщение содержит лигу, команды, минуту пенальти, текущий счёт и ссылку на матч.

  3. Обновляет итоговый счёт через 2 часа:

    • редактирует старое сообщение в Telegram;

    • добавляет смайлик ✅ (пенальти повлиял на исход) или ❌ (пенальти не изменил счёт).

  4. Ведёт статистику:

    • сохраняет данные в daily_stats.json и league_stats.json;

    • раз в сутки публикует итоговую статистику за день. (не совсем корректно реализовано, можно удалить из бота) 

  5. Сохраняет историю в Excel (matches.xlsx):

    • дата, команды, минута пенальти, итоговый счёт и ссылка

📂 Файлы и их назначение

1. daily_stats.json - Файл для хранения ежедневной статистики по пенальти.

2. league_stats.json - Файл для накопительной статистики по лигам.

3. matches.xlsx - Excel-файл, куда бот заносит все обработанные матчи.

4. processed_matches.json - Файл для хранения уже обработанных матчей. Чтобы бот не отправлял одно и то же событие несколько раз.

5. recheck_matches.json - Файл для хранения матчей, которые нужно проверить через 2 часа для обновления счёта.

6. sent_links.json - Файл с ссылками на уже отправленные матчи.

7. bot.log - Файл с логами работы бота.

8. bot.py - сам бот для запуска.

 

⚙️ Установка и запуск на Windows

1. Установить Python

  • Скачай с python.org (версии 3.10+).

  • При установке обязательно поставить галочку "Add Python to PATH".

2. Скачать код бота

  • Сохрани файл bot.py и положи в отдельную папку (например, C:\football_bot).

3. Установить зависимости

Открой PowerShell / CMD в папке с ботом и выполни:

Цитата

pip install requests beautifulsoup4 openpyxl

или

Цитата

pip install requests
pip install beautifulsoup4
pip install openpyxl

4. Настроить токен и канал

  • В файле bot.py замени:

Цитата

TELEGRAM_TOKEN = "ТОКЕН_БОТА" CHANNEL_ID = "@ВАШКАНАЛ"

  • токен Telegram-бота (получить у @BotFather),

  • ID канала или чата (для канала начинается с @).

  • на свои данные:

5. Запуск бота

В той же папке выполни:

python bot.py

Логи будут сохраняться в файл bot.log.


⚙️ Установка и запуск на Linux (Ubuntu/Debian)

1. Установить Python и pip

sudo apt update sudo apt install python3 python3-pip -y

2. Создать папку для бота

mkdir ~/football_bot cd ~/football_bot

3. Скопировать файл bot.py

Скопируй в эту папку через scp, nano или vim.

4. Установить зависимости

pip3 install requests beautifulsoup4 openpyxl

5. Настроить bot.py

Замени TELEGRAM_TOKEN и CHANNEL_ID на свои значения.

6. Запустить бота

python3 bot.py
 
Если есть вопросы телеграм @dimapross
Бот работает тут на сервере https://t.me/testofbots01

 

bot_penalty45min.rar

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/
Поделиться на другие сайты

А на что мы ставим по этому боту ? В чем изум бота ?

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513069
Поделиться на другие сайты

  • Модераторы
10 минут назад, Petrovich сказал:

А на что мы ставим по этому боту ? В чем изум бота ?

ну наверное, та команда которая забила пенальти в итоге выиграет матч.

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513070
Поделиться на другие сайты

11 минут назад, Petrovich сказал:

А на что мы ставим по этому боту ? В чем изум бота ?

на еще гол в матче. Была стратегия на канале в телеге и даже бот сделали 

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513071
Поделиться на другие сайты

на гол 

36 минут назад, Petrovich сказал:

А на что мы ставим по этому боту ? В чем изум бота ?

посмотрите ексель, на что больше вероятность? 

либо оба забьют или ТБ 

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513072
Поделиться на другие сайты

6 минут назад, DoOne HitMe сказал:

на гол 

посмотрите ексель, на что больше вероятность? 

либо оба забьют или ТБ 

Ясно.спс

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513074
Поделиться на другие сайты

Добрый вечер, подскажите пожалуйста, менять только тут - # === Конфигурация ===

TELEGRAM_TOKEN = "7^^^842962:AAFvEsQFhXmLQtB6WVv2edT_1_eoczB_Uaw"
CHANNEL_ID = "@next^^goal_bot"

Правильно вставил?

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513106
Поделиться на другие сайты

Не приходят сигналы...

 

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513108
Поделиться на другие сайты

29 минут назад, Dimmkoff сказал:

Добрый вечер, подскажите пожалуйста, менять только тут - # === Конфигурация ===

TELEGRAM_TOKEN = "7^^^842962:AAFvEsQFhXmLQtB6WVv2edT_1_eoczB_Uaw"
CHANNEL_ID = "@next^^goal_bot"

Правильно вставил?

CHANNEL_ID должны быть цифры.  попробуй тут узнать в телеге через бот Get My ID

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513112
Поделиться на другие сайты

8 минут назад, Dima Zloy сказал:

CHANNEL_ID должны быть цифры.  попробуй тут узнать в телеге через бот Get My ID

Спасибо!!! Сразу пришёл сигнал в телегу...

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513114
Поделиться на другие сайты

3 часа назад, Dimmkoff сказал:

Добрый вечер, подскажите пожалуйста, менять только тут - # === Конфигурация ===

TELEGRAM_TOKEN = "7^^^842962:AAFvEsQFhXmLQtB6WVv2edT_1_eoczB_Uaw"
CHANNEL_ID = "@next^^goal_bot"

Правильно вставил?

# === Конфигурация ===
TELEGRAM_TOKEN ="6870632544:AAFl4jLwoz1Gu13y7777UdqmIuahK1K3gXmw"
CHANNEL_ID ="35384556"
Вот так

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513117
Поделиться на другие сайты

16 часов назад, alex lampard сказал:

# === Конфигурация ===
TELEGRAM_TOKEN ="6870632544:AAFl4jLwoz1Gu13y7777UdqmIuahK1K3gXmw"
CHANNEL_ID ="35384556"
Вот так

канал ид через @ CHANNEL_ID ="@35384556"

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513148
Поделиться на другие сайты

Немного доработал данный скрипт.

Сравнение нового и старого кода: ключевые улучшения
🏗️ Архитектурные улучшения
1. ООП подход вместо процедурного
Старый код: Функции разбросаны по файлу
Новый код: Четкая классовая структура:
•	Config - управление конфигурацией
•	CacheManager - кэширование запросов
•	HTTPClient - HTTP клиент с повторными попытками
•	DataManager - работа с файлами
•	TelegramBot - взаимодействие с Telegram API
•	MatchParser - парсинг матчей
•	HealthChecker - мониторинг здоровья
•	FlashscoreParser - основной класс приложения
2. Улучшенное управление состоянием
🚀 Производительность и надежность
3. Кэширование запросов
4. Повторные попытки и обработка ошибок
5. Мониторинг здоровья приложения
🔍 Улучшенный парсинг
6. Расширенные селекторы для поиска данных
7. Улучшенный поиск пенальти
8. Детальное логирование парсинга
📊 Мониторинг и метрики
9. Prometheus метрики (новое)
10. Расширенное логирование с ротацией
🛡️ Безопасность и стабильность
11. Валидация конфигурации
12. Обработка исключений для Windows
📁 Улучшенная работа с данными
13. Структурированное хранение файлов
14. Расширенная статистика
🔄 Улучшения основного цикла
15. Разделение ответственности
16. Улучшенное управление временем
🎯 Ключевые преимущества нового кода:
1.	Надежность: Повторные попытки, кэширование, обработка ошибок
2.	Масштабируемость: ООП архитектура, легко добавлять новые функции
3.	Мониторинг: Метрики Prometheus, детальное логирование
4.	Поддержка: Кроссплатформенность, проверка здоровья
5.	Качество кода: Читаемость, модульность, документация
6.	Производительность: Кэширование, оптимизированные запросы
7.	Отладка: Подробные логи, сбор событий матча

Основные улучшения:
1.	Улучшенный парсинг пенальти - добавлены дополнительные ключевые слова и методы поиска
2.	Детальное логирование - теперь видно, что происходит на каждом этапе
3.	Расширенные селекторы - для поиска команд, счета и событий
4.	Отладка событий - собираются все события матча для анализа
Что теперь будет в логах:
text
🔎 Найдено ссылок на матчи: 13
✅ Найден подходящий матч: Лига - 1:0 на 23'
🔍 Детали матча https://m.flashscorekz.com/match/rP5q0pv9/:
   Команды: Команда А - Команда Б
   Счёт: 1:0
   Минута: 23'
   Пенальти: ?
   Все события: 5
     Событие: Гол 23'
     Событие: Желтая карточка 15'
     Событие: Пенальти 18'



Установка и запуск:
bash
# Установите зависимости
pip install requests beautifulsoup4 openpyxl psutil

# Запустите скрипт
python bot.py
Настройка Telegram:
1.	Замените YOUR_TELEGRAM_BOT_TOKEN_HERE на реальный токен бота
2.	Замените YOUR_TELEGRAM_CHANNEL_ID_HERE на ID вашего канала
Теперь скрипт должен работать без ошибок на Windows!

 

football_bot.zip

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513253
Поделиться на другие сайты

Скоро подгоню бота с прогнозами на оба тайма. Дописываю. Потещу его. Поделюсь с Вами. Могу для теста взять 3 человека

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513258
Поделиться на другие сайты

Так должно быть?

Снимок экрана 2025-09-26 180840.png

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513261
Поделиться на другие сайты

Только что, alex lampard сказал:

Так должно быть?

Снимок экрана 2025-09-26 180840.png

да. Но можно ловить голы и без пенальти, на второй тайм ставить

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513262
Поделиться на другие сайты

Ставить на ТБ смысла нет там коэф. мизерный. Вот пример: 

Ст. Пельтен 1 : 0 Штурм Грац II

Тотал:Больше(1.5)
1.09

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513279
Поделиться на другие сайты

На оба тайма. Удалить все файлы из папки. Скаченный файл поместить в папку. Будут ошибки или пожелания пишите

bot.py

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513280
Поделиться на другие сайты

  • Модераторы

сама идея с ботом интересная, но нужно что то ликвидное, например, пусть парсить xG оно там есть в некоторых матчах, и ловить например первый тайм где сумма xG больше одного на гол в первом тайме. ну а если первый тайм 0-0 то ловить гол во втором тайме. при тех же условиях. ну или типа того.

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513286
Поделиться на другие сайты

  • Модераторы
1 час назад, OlegZ сказал:

Ставить на ТБ смысла нет там коэф. мизерный. Вот пример: 

Ст. Пельтен 1 : 0 Штурм Грац II

Тотал:Больше(1.5)
1.09

Обе Забьют тоже проходят, но коэффы там тоже не огонь)
image.thumb.png.186e22bd614cd91958c49bf9aac3d10d.png

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513287
Поделиться на другие сайты

14 минут назад, al88sm сказал:

сама идея с ботом интересная, но нужно что то ликвидное, например, пусть парсить xG оно там есть в некоторых матчах, и ловить например первый тайм где сумма xG больше одного на гол в первом тайме. ну а если первый тайм 0-0 то ловить гол во втором тайме. при тех же условиях. ну или типа того.

Да, я давно жду чего-то подобного, бота на основе xG

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513288
Поделиться на другие сайты

вот еще один пример: 


Твенте 1 : 0 Фортуна Ситтард

Исход:П1   1.22
Тотал:Больше(1.5)   1.1
Индивидуальный тотал 1-го:Больше(1.5)   1.3

Обе команды забьют:Да 1.87

Изменено пользователем OlegZ
Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513291
Поделиться на другие сайты

37 минут назад, al88sm сказал:

Обе Забьют тоже проходят, но коэффы там тоже не огонь)
image.thumb.png.186e22bd614cd91958c49bf9aac3d10d.png

Все зависит сколько времени остается до конца матча и какие команды играют. Взял последние 35 матчей где счет был открыт с пенальти, процент выигрышных сделок на Обе забьют- составил 72%

Изменено пользователем OlegZ
Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513293
Поделиться на другие сайты

  • Модераторы
19 минут назад, OlegZ сказал:

вот еще один пример: 


Твенте 1 : 0 Фортуна Ситтард

Исход:П1   1.22
Тотал:Больше(1.5)   1.1
Индивидуальный тотал 1-го:Больше(1.5)   1.3

Обе команды забьют:Да 1.87

оз вполне нормально выглядит сейчас уже 1.98.  в принципе за 2.00 и выше можно взять. не плахой выхлоп

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513294
Поделиться на другие сайты

48 минут назад, al88sm сказал:

сама идея с ботом интересная, но нужно что то ликвидное, например, пусть парсить xG оно там есть в некоторых матчах, и ловить например первый тайм где сумма xG больше одного на гол в первом тайме. ну а если первый тайм 0-0 то ловить гол во втором тайме. при тех же условиях. ну или типа того.

Подумаю над Вашей идеей

Ссылка на комментарий
https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513295
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...