Перейти к содержанию
View in the app

A better way to browse. Learn more.

BrcBet.Com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

Опубликовано

Всех приветствую. В рамках изучения 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

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

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

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

Опубликовано
11 минут назад, Petrovich сказал:

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

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

Опубликовано
  • Автор

на гол 

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

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

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

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

Опубликовано
6 минут назад, DoOne HitMe сказал:

на гол 

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

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

Ясно.спс

Опубликовано

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

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

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

Опубликовано
29 минут назад, Dimmkoff сказал:

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

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

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

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

Опубликовано
8 минут назад, Dima Zloy сказал:

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

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

Опубликовано
3 часа назад, Dimmkoff сказал:

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

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

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

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

Опубликовано
  • Автор
16 часов назад, alex lampard сказал:

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

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

Опубликовано

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

Сравнение нового и старого кода: ключевые улучшения
🏗️ Архитектурные улучшения
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

Опубликовано

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

Опубликовано
Только что, alex lampard сказал:

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

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

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

Опубликовано

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

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

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

Опубликовано

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

bot.py

Опубликовано
  • Модераторы

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

Опубликовано
  • Модераторы
1 час назад, OlegZ сказал:

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

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

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

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

Опубликовано
14 минут назад, al88sm сказал:

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

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

Опубликовано

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


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

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

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

Изменено пользователем OlegZ

Опубликовано
37 минут назад, al88sm сказал:

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

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

Изменено пользователем OlegZ

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

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


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

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

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

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

Опубликовано
48 минут назад, al88sm сказал:

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

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

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

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

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

Последние посетители 0

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

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.