Бот для автоматизации ставок по прогнозам

Внимание! Данная статья ни в коем случае не призывает делать ставки и предоставлена исключительно в ознакомительных целях!

Пару лет назад автоматизировали стратегию ставок на виртуальный Mortal Kombat. Получилось неплохо, за 2 недели удалось увеличить банк в 100 раз, жаль, что банк был небольшим. Потом стратегия перестала работать, потому что в киберспорте постоянно меняются алгоритмы. С тех пор я хочу поработать с автоматизацией ставок на реальный спорт, провести глубокое исследование, собрав информацию по исходам тысяч событий и смоделировать поведение бота, чтобы выявить перспективную стратегию.

Но сейчас времени на такую большую работу нет, поэтому хочу поставить более простой эксперимент. Наткнулся на один канал в телеграмме с прогнозами с хорошей проходимостью, но пока зайдешь в БК, найдешь событие и ставку, кэф с 1.6-1.7 проседает до 1.1-1.2, что уже не так интересно.

Пишу эту статью параллельно созданию бота, поэтому это может быть как удачный кейс, так и не очень :)

Итак, наша цель - автоматизировать ставки по прогнозам из определенного канала в телеграмм.

Для начала нужно получить и обработать прогноз. Бота, созданного через botAPI телеги добавить в чужой канал мы не можем, поэтому варианта 2:

  1. Работать через официальный api обычным аккаунтом
  2. Пересылать посты из канала своему боту

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

Как создать бота в телеге расписывать не буду, информации в сети полно. Для максимальной скорости обработки ответов бота нужно настроить Webhook, понадобится хостинг и свой домен с ssl сертификатом.

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

Теперь надо научить бота находить событие из прогноза на БК и получать его id. Ставить будем на 1xbet. В нашем случае прогнозист присылает события оттуда же, поэтому названия команд и чемпионатов будут совпадать. Приходят они в таком виде:

V120 Кубок вызова ЕКВ
Радник Биелина - Црвена Звезда
1-й Сет П2 (1.53) 5%

Отправляем запрос в БК на получение текущих игр, сверяем игроков и чемпионат.

Матч нашли, ID получили, идем дальше.

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

Разберемся, на какие виды событий нам дают прогнозы:

  1. Фора по сету
  2. Победа в сете

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

Возвращаемся к сложному, теперь нужно найти ставку в той каше, чтобы узнать текущий коэффициент и поставить с ним ставку. Для этого делаем пробные ставки и перехватываем запрос к БК, чтобы понять, какие данные нужно отправить, и откуда их взять.


Видим, что из переменных значений нам нужны:

  1. ID сета игры
  2. Тип ставки
  3. Коэфициент
  4. Дополнительный параметр (если ставим на фору)

Сделав пробные ставки на все возможные исходы, которые дают в прогнозах, выяснилось, что может быть всего 4 типа ставок. 2 на победу одной из команд в сете и по одной на два вида форы. В итоге найти нужную информацию в том массиве данных не составило труда и оказалось, что не такая уж там и каша, а вполне неплохо структурировано, просто без экспериментов невозможно сразу сориентироваться.

Всё необходимое у нас есть, осталось реализовать авторизацию в БК и отправку туда ставки. Авторизовываться каждый раз не нужно, куки сделают свое дело и сэкономят время на каждой ставке.

И тут что-то пошло не так, БК постоянно дает ответ о том, что пароль неверный, причем в браузере периодически тоже. Но ничего, возьмем куки из браузера и не будем морочить голову.

Еще час работы, и бот умеет делать ставки! От отправки ему прогноза до самой ставки проходит около 7-8 секунд, так долго, так как БК требует ожидать 6 секунд после первого запроса на ставку, чтобы подстраховать себя от ставок с изменившимся коэффициентом.

Бот присылает информацию о своих действиях и ошибках, если они есть. Осталось дождаться прогнозов и протестировать на деле.

Итак, спустя 2 дня тестирования могу сказать, что бот справился, но к, сожалению, не спасает от сторонних факторов. Телеграм присылает уведомления подписчикам канала с прогнозами в каком-то только ему известном порядке, на телефон и компьютер на один аккаунт уведомление может прийти с разницей более 30 секунд, а некоторые прогнозы требуют моментального реагирования. Но тем не менее, преимущество перед ручными ставками ощутимое, нужно сделать всего 2 клика, не выходя из мессенджера и ставка ставится сама.

Понравилось? Не забудь подписаться на канал в telegram - @nortoxlab, а так же вступить в группу вконтакте!