SportAPI
Интеграция API

Бот live-сигналов: как автоматически находить матчи под свою стратегию и получать уведомления в Telegram

Как сделать сканер live-матчей, который сам находит игры под ваши условия — например, «0:0 после 60-й минуты и тотал больше за 2+» — и присылает сигнал в Telegram.

Радар сканирует live-матчи и отправляет сигнал в Telegram, когда совпали условия стратегии

Бот live-сигналов избавляет от необходимости часами сидеть в лайве. Каждые 30 секунд он берёт все идущие матчи из SportAPI, проверяет ваши условия — счёт, минуту, статистику, коэффициенты — и, как только матч подходит под стратегию, присылает сигнал в Telegram. Например: «0:0 после 60-й минуты, коэффициент на тотал больше — от 2». Данные для такого сканера даёт API спортивной линии SportAPI: live-счёт, время матча, краткая статистика и коэффициенты — от $30 в месяц за вид спорта. А если писать бота некогда, SportAPI соберёт стратегию с сигналами под ключ.

Сразу важное: сигнал — это найденный матч, а не гарантия выигрыша. Ценность бота в экономии времени и в дисциплине: он не пропускает подходящие матчи и не поддаётся эмоциям.

Как работает сканер live-матчей

SportAPI (все live-матчи) → проверка правил стратегии → сигнал в Telegram

На каждом шаге сканеру доступны такие данные:

ДанныеПоле в SportAPIПример условия
Счётscore_fullСчёт 0:0
Время матчаtimer (секунды)После 60-й минуты
Периодperiod_nameВторой тайм
Live-статистикаstat_list: атаки, опасные атаки, удары в створ, угловые, карточки, xGУдаров в створ не меньше 6
Рынки и коэффициентыgame_oc_listТотал больше — от 2.0
Закрытый исходoc_blockНе присылать сигнал, если исход закрыт

Один запрос к списку live-матчей возвращает все игры вида спорта сразу со счётом, статистикой и основными рынками — поэтому сканер работает быстро даже на сотнях матчей.

Как записать стратегию в виде правил

Боту нельзя сказать «найди перспективные матчи» — ему нужны точные условия. Возьмём стратегию из запроса игрока:

УсловиеКак проверить
Счёт 0:0score_full == "0:0"
Идёт 60-я минута или позжеtimer // 60 >= 60
Коэффициент на тотал больше — от 2исход «Б» в группе «Тотал», oc_rate >= 2.0
Исход открыт для ставокoc_block == false
Сигнал по матчу — один разID матча запоминается после отправки

Так же записываются и другие популярные live-стратегии: «опасных атак у фаворита в два раза больше, а он проигрывает», «больше 8 угловых к 70-й минуте», «красная карточка у фаворита в первом тайме». Список показателей и их ID — в документации live-статистики.

Готовый бот на Python

Бот ищет футбольные матчи со счётом 0:0 после 60-й минуты, где коэффициент на тотал больше — от 2, и присылает сигнал в Telegram вместе с числом ударов в створ:

import time

import requests

API = "https://YOUR_API_DOMAIN/v1"
HEADERS = {"Package": "YOUR_SPORTAPI_KEY"}
BOT_TOKEN = "YOUR_BOT_TOKEN"
CHAT_ID = "YOUR_CHAT_ID"

# Правила стратегии
SCORE = "0:0"
MIN_MINUTE = 60
MIN_ODDS = 2.0

sent = set()  # матчи, по которым сигнал уже отправлен


def over_odds(match):
    """Открытые исходы «тотал больше» из основного рынка тоталов."""
    for group in match.get("game_oc_list", []):
        if group["group_name"] == "Тотал":
            return [(o["oc_name"], o["oc_rate"]) for o in group["oc_list"]
                    if o["oc_name"].endswith(" Б") and not o["oc_block"]]
    return []


def stat_total(match, stat_id):
    """Сумма показателя обеих команд из live-статистики или None."""
    for item in match.get("stat_list", []):
        if item["id"] == stat_id:
            return int(float(item["opp1"]) + float(item["opp2"]))
    return None


def scan():
    url = f"{API}/events/1/0/sub/50/live/ru"
    response = requests.get(url, headers=HEADERS, timeout=10)
    response.raise_for_status()
    for tournament in response.json()["body"]:
        for match in tournament["events_list"]:
            minute = match["timer"] // 60
            if match["game_id"] in sent or match["score_full"] != SCORE or minute < MIN_MINUTE:
                continue
            for name, rate in over_odds(match):
                if rate < MIN_ODDS:
                    continue
                shots = stat_total(match, 59)  # 59 — удары в створ
                text = (
                    f"⚡ {match['opp_1_name']} — {match['opp_2_name']}\n"
                    f"{tournament['tournament_name']}\n"
                    f"{minute}' · счёт {SCORE} · тотал {name} за {rate}"
                )
                if shots is not None:
                    text += f"\nУдары в створ: {shots}"
                requests.post(
                    f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage",
                    json={"chat_id": CHAT_ID, "text": text},
                    timeout=10,
                )
                sent.add(match["game_id"])
                break


while True:
    try:
        scan()
    except requests.RequestException as error:
        print("Ошибка запроса:", error)
    time.sleep(30)

Что нужно для запуска:

  1. Создайте бота через BotFather и узнайте ID чата, куда присылать сигналы, — личного или канала.
  2. Получите тестовый ключ SportAPI и вставьте его вместо YOUR_SPORTAPI_KEY.
  3. Запустите скрипт на сервере или компьютере, который работает постоянно.

Правила стратегии вынесены в начало: чтобы изменить условия, достаточно поменять SCORE, MIN_MINUTE и MIN_ODDS. Запрос раз в 30 секунд укладывается в рекомендации документации — список live-матчей можно обновлять не чаще раза в 7 секунд.

Как не получать мусорные сигналы

  • Один сигнал на матч. Без памяти об отправленных матчах бот будет присылать одно и то же каждые 30 секунд.
  • Только открытые исходы. Если oc_block равен true, ставку на исход сейчас не принять — сигнал бесполезен.
  • Статистика есть не всегда. В сохранённом примере из документации live-статистика была заполнена у 16 из 39 матчей. Если правило зависит от статистики, пропускайте матчи без неё, а не считайте её нулём.
  • Фильтр турниров. Молодёжные и любительские лиги дают много сигналов, но меньше информации. Ограничьте список турниров, если нужны только топ-матчи.
  • Не больше нескольких условий. Чем больше условий, тем реже сигналы. Начните с трёх-четырёх правил и уточняйте по результатам.

Проверьте стратегию, прежде чем ей доверять

Сохраняйте каждый сигнал — матч, минуту, коэффициент — и после матча отмечайте результат. Итоговые счета удобно подтягивать автоматически из API результатов. Через несколько сотен сигналов станет видно, работает ли стратегия на дистанции или только казалась удачной на паре примеров. Без такой статистики любой бот — просто красивые уведомления.

Стратегия под ключ, если писать код некогда

SportAPI разрабатывает спортивные стратегии под ключ: формализует ваши правила, подключает данные, создаёт мониторинг матчей с защитой от повторных сигналов, сохраняет историю срабатываний и отправляет уведомления в Telegram, на почту или через вебхук. Пороги, виды спорта и турниры можно менять в настройках без переделки кода.

Сколько стоит

Что нужноСтоимость
Live-данные одного вида спорта: счёт, время, краткая статистика, рынки и коэффициентыот $30 в месяц
Итоги матчей для проверки стратегииот $25 в месяц за вид спорта, +$10 за каждый дополнительный язык
Стратегия с сигналами под ключУсловия — у менеджера
Проверка до оплатыТестовый ключ на 2 дня, все виды спорта

Частые вопросы

Можно ли сделать бота сигналов без программирования?

Скрипт из статьи можно запустить, не меняя ничего, кроме ключей и трёх правил в начале. Если нужны сложные условия, история и настройки без кода — закажите стратегию под ключ.

Как часто бот проверяет матчи?

Раз в 30 секунд. Чаще не нужно: сигналы по минуте и счёту не теряются за полминуты, а документация разрешает обновлять список live-матчей не чаще раза в 7 секунд.

Какие данные можно использовать в условиях?

Счёт, время и период матча, краткую live-статистику — атаки, опасные атаки, удары, угловые, карточки, xG — а также рынки и коэффициенты. Полный список показателей — в документации live-статистики.

Работает ли бот для других видов спорта?

Да. Замените ID вида спорта в запросе — например, на хоккей или баскетбол — и адаптируйте правила: вместо минут и голов используйте периоды, четверти и очки.

Гарантирует ли бот выигрыш?

Нет. Бот находит матчи по вашим условиям, но не делает стратегию прибыльной. Проверяйте её на истории сигналов, прежде чем принимать решения.

Что сделать сегодня

  1. Запишите свою стратегию в виде 3–4 точных условий.
  2. Получите тестовый ключ SportAPI и создайте бота в Telegram.
  3. Запустите скрипт из статьи с вашими правилами.
  4. Сохраняйте сигналы и результаты матчей.
  5. Через пару недель оцените стратегию по статистике и решите, что улучшить.

Напишите менеджеру SportAPI в Telegram, какую стратегию вы хотите автоматизировать, — вы получите тестовый ключ к API спортивной линии и коэффициентов или обсудите разработку стратегии под ключ.

← Все статьи