Бот Телеграмм для формул ТГ

Одним днём мы, редакция pythonist.ru, от нечего делать, стали кидать друг другу задачки и смотреть, кто быстрее решит. В какой-то момент нам пришла в голову идея автоматизировать этот процесс. Нам понадобился бот, который отправлял бы нам случайные задачки, а мы бы уже их наперегонки решали.

Итак, что мы имеем:

  • Наша редакция предпочитает общение в telegram
  • Мы все пишем на Python

Следовательно, нам нужно написать на python что-то, что будет отправлять нам задачки прямо в чат. Источником задач мы, конечно же, взяли наш цикл статей по проекту Эйлера. Он ещё только в процессе заполнения, но его вполне можно использовать для наших задач.

Теперь, нужно разобраться с библиотеками, которыми мы будем пользоваться при написании бота. Ими станут:

  • pytelegrambotapi — основная библиотека для написания самого бота
  • beautifulsoup4 — для парсинга сайта и обработки ссылок на задачи

Итак, приступим, для начала необходимо в новом проекте установить необходимые библиотеки:

Telegram Bot аптечной сети «Формула здоровья».


pip install pytelegrambotapi pip install beautifulsoup4

Отлично, бот создан, самое веселое ждет нас впереди, начинаем писать бота. Где писать — выбор каждого, главное, что внутри.

В последнем сообщении от BotFather, мы получили токен нашего бота, им нельзя делиться, так как это ключ к боту, позволяющий делать с ним всё что угодно.

Для начала нам нужно подключить бота к нашему python-коду, напишем следующее:

import telebot TOKEN = ‘СЮДА ПИШЕМ ТОКЕН’ bot = telebot.TeleBot(TOKEN)

Таким образом, наш скрипт будет понимать, с чем он работает, и отправлять запросы именно через нашего бота. Повторюсь, что очень важно не показывать никому свой токен, это может стоить вам бота.

Для того, чтобы убедиться, что всё в порядке, напишем небольшую функцию, для обработки команды ‘/start’. Telebot предоставляет удобные инструменты для обработки сообщений, собственно поэтому мы его и используем.

Итак, напишем декоратор, а потом разберемся, что к чему.

Честно, даже с первого раза получилось. А теперь давайте разбираться что и как работает.

Первой строкой мы обратились к декоратору message_handler, он обрабатывает все входящие сообщения, если не передать ему никаких параметров. Мы же передали ему commands=[‘start’]. Это значит, что он будет реагировать только на сообщения-команды (начинающиеся со слэша), а в нашем случае, только на команду /start. Другие сообщения его не интересуют.

Затем мы прописываем функцию, которую декорируем, и говорим нашему боту, чтоб отвечал на сообщение ‘/start’ неким сообщением.

Последние две строчки нужны для того, чтобы бот работал постоянно, пока запущен. Просто оборачиваем bot.polling() в бесконечный цикл.

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

Для этих целей отлично подойдет BS4, который мы сразу установили. Это жутко удобная библиотека для парсинга совершенно любых сайтов, все зависит от скилла.

Но перед тем, как отдать сайт на съедение beautifulsoup, мы должны получить его html-код, делается это очень просто, импортируем встроенную библиотеку urllib, и отдаем ей url нашего сайта.

import urllib site = urllib.request.urlopen(‘https://pythonist.ru/spisok-zadach-proekt-ejlera-s-resheniyami/‘).read()

Передадим библиотеке beautifulsoup наш html-код, записанный в переменную site и, обработав улучшалкой beautifulsoup.prettify(), выведем полученный результат, чтобы убедиться, что все идет по плану.

Еще по теме:  Репутация в Телеграмме что это

soup = bs4.BeautifulSoup(site) print(soup.prettify())

На выводе мы получим огромное полотно кода, среди которого нас интересует только вот этот кусок:

Задача 1 «Числа, кратные 3 или 5»

Задача 2 «Четные числа Фибоначчи»

Задача 20 «Сумма цифр факториала»

Задача 21 «Дружественные числа»

Задача 23 «Неизбыточные суммы»

Задача 24 «Словарные перестановки:

Именно тут хранятся нужные нам ссылки на задачи, а мы находимся всё ближе к своей цели. Теперь нам нужно достать эти ссылки, чтобы у нас была возможность отправлять их. Для этого немного переписываем предыдущий код, не переживайте, без объяснений не останетесь:)

site = urllib.request.urlopen(‘https://pythonist.ru/spisok-zadach-proekta-ejlera-s-resheniyami/’).read() soup = bs4.BeautifulSoup(site) raw_excersises = soup.find(‘div’, ) #забираем интересующий нас кусок кода excersises = raw_excersises.find_all(‘a’) links_to_excersises = [] for i in range(len(excersises)): links_to_excersises.append(excersises[i].get(‘href’)) print(‘I have a list’)

Что происходит в этом коде:

  • забираем html код сайта
  • скармливаем этот код bs4
  • находим нужный нам фрагмент кода, в котором хранятся ссылки
  • забираем непосредственно блоки с ссылками
  • в цикле for собираем список, состоящий только из ссылок
  • убеждаемся, что код выполнился

У этого кода есть один недостаток — при добавлении новой задачи на сайт, придется перезапускать бота, чтобы он заново спарсил список. Но так он работает намного быстрее, так как парсинг — дело долгое.

Ну все, осталось самое простое — по запросу выбрасывать ссылку на случайную задачу в чат. Для этого напишем декоратор-обработчик команды, назовем ее /task.

Тут особо сложного ничего нет, пройдемся по порядку:

  • импортируем модуль random, он нужен для выбора случайной статьи
  • задаем обработчику параметр, обеспечивающий работу только при сообщении /task
  • выбираем ссылку, которую будем отправлять
  • отправляем эту ссылку

Домашние заготовки. Полный мануал по топовому боту от Smart Tables и практические советы.

Домашние заготовки. Полный мануал по топовому боту от Smart Tables и практические советы.

Это telegram-бот, который оповещает вас о том, что на нужную вам ставку в лайве дается нужный вам коэффициент. Заготовки вы создаете на нашем сайте — их можно делать на отдельный матч, или на все матчи определенной команды в том или ином турнире. Создание заготовок — процесс простой и быстрый, приходят они к вам в telegram, сразу со ссылкой на страницу матча на нашем сервисе, чтобы при необходимости можно было что-то проверить в статистике. Бот работает по линии 1х, что удобно — хоть там и почти никто уже не ставит, в линии собирается все, что сейчас есть в лайве, все матчи со всей возможной статистикой. И если приходит заготовка на ауты, или удары от ворот, то почти наверняка она играется по ФОНу, а на угловые или желтые карты — по куче разных контор. И так далее. Ну а с голами вообще все просто — они есть везде.

В каких ситуациях они могут быть полезны?

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

Чуть сложнее — вы хотите поставить на “обе забьют” в матче Жирона Реал, так как видите, что Жирона в этом сезоне трендовая по этой ставке, а Реал с проблемами в обороне, но коэффициент 1.72 кажется вам слишком скромным, хочется за 1.9 хотя бы — делаете заготовку и в первые 10 минут, если нет раннего гола, получаете уведомление от бота и играете!

Еще по теме:  Как защитить Телеграмм от бота копируещего информации

И так можно с любым трендом — приметили команды, которые стабильно не допускают более 1 офсайда или не выигрывают по желтым карточкам, или матч с участием судьи с яркой индивидуальностью (будь то мягкость или жесткость) … все что угодно — любой найденный вами тренд вы, если не вариант поставить до матча, превращаете в домашнюю заготовку на лайв.

Отлично работают Заготовки в связке с инструментом “трендовые матчи”, с помощью которого вы можете отобрать игры, где обе команды склонны к определенному тренду — верху угловых в первом тайме, или тоталу меньше по голам, или к тому, что одна команда получает мало ЖК, а на второй мало горчичников зарабатывают. Словом, огромное множество вариантов, часть из которых хороши и для прематч-ставки, а другие лучше брать в лайве, когда котировки подрастут.

Можно использовать и инструмент “прогрузы” — выбирать сильные падения коэффициентов, изучать матч и, в случае, если вам понятно, что прогруз логичный, по делу, можно делать заготовку и ждать лайва.

Резюмируя — все зависит от вашей стратегии, от того, на какие маркеты вы предпочитаете ставить. Возможности Заготовок в связке с другими инструментами нашего сервиса безграничны!

Заготовки на матч

Чтобы создать заготовку на матч, вам нужно перейти на соответствующую вкладку на странице матча и задать нужные вам параметры:

  • на что ставим — голы, угловые, желтые карты, ауты и тп.?
  • можно поставить галочку в поле “нет удаления в матче”, если вы не хотите получать заготовки на матчи, где была красная карта — для многих стратегий это важно
  • период — заготовка на матч или на первый тайм
  • тип ставки — победа одной из команд, ничья, форы, тоталы общие и индивидуальные, обе забьют
  • минимальный коэффициент для срабатывания заготовки
  • текущая ситуация по параметру — продвинутый фильтр, если вам нужно, чтобы заготовка сработала только при соблюдении дополнительного условия, например, на ТМ5.5 желтых, но только, если в матче их не более 4 уже было
  • ситуация на поле — какая команда ведет в счете и какой разницей — бывает полезно, если вы хотите ставить в той ситуации, когда фаворит уверенно ведет в счете, или наоборот, в матче высокий накал, так как нет большой разницы в счете
  • сколько забито голов на момент срабатывания заготовки
  • минута матча — если хотите ставить на определенном отрезке матча
  • заметка — чтобы оставить себе напоминалку, а это полезно, когда заготовок много

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

А еще вы можете в 1 клик сделать красивую картиночку с вашей заготовкой и скинуть её друзьям или в свой чат или канал о ставках. Для этого у каждой заготовки вы видите кнопку Share. Делитесь своими мыслями с коллегами по ставочному движу и делайте это красиво!

Заготовки на команды

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

Еще по теме:  Как выйти из чата в Телеграмме если ты владелец группы

Чтобы создать заготовку на команду, нужно зайти в раздел Домашние Заготовки (в верхнем меню) — там 2 вкладки — одна с интерфейсом создания заготовок — практически идентичный заготовкам на матч + возможность выбора турнира. Вторая вкладка — все ваши заготовки на предстоящие дни — бывает удобно освежить в памяти, с какого времени лучше быть на связи, чтобы не пропустить ставки.

Уведомление от бота

Заготовки приходят к вам в telegram в следующем формате:

Заготовка на матч

Farko — ENPPI (Egypt. Premier League)

Текущий счёт в матче: 0 — 0

Текущий счёт (Офсайды): 2 — 0

Вы видите турнир, команды, ставку, текущий кэф и счет — как в матче, так и по вашему параметру. По ссылке можно кликнуть и проверить, совпадает ли ваша логика с ходом встречи.

Практические советы

Не воспринимайте заготовки, как обязательные к ставке! Только если вы не ставите по подписке или за каппером, которому максимально верите, и не успели на заявленный коэффициент. Всегда обращайте внимание на ход матча, зачастую опыт подскажет вам, что лучше тут не ставить. Иной раз стоит и дополнительно проверить по Smart Tables — так ли хороша идея здесь сделать ставку. Да, вы потеряете полминуты, но можете избежать ошибки, которая будет стоить вам денег.

Учитывайте, что, как правило, кэф на тотал больше в матче постепенно растет, а на тотал меньше — падает. И если вы играете ТМ, то лучше чуть повысьте минимально подходящий вам коэффицент, чтобы пока вы откроете линию, он не уменьшился настолько, что будет неинтересным. А при ставке на ТБ, можете чуть занизить, чтобы не пропустить ставку.

Учитывайте, что в разных конторах есть своя специфика, например, при ставках на угловые ТБ выгоднее играть не в СНГ, а в Pinnacle — там почти всегда выше котировка на верх и ниже — на низ. А ТМ угловых лучше играть в СНГ-букмекерах. Или, при ставках на ЖК, вы понимаете, что понимаете, что будете ставить ровную фору в Марафоне — например ф(1)1, а заготовку делаете на фору +1.5 (так как ровной форы может не быть в 1х) и ставите коэффициент пониже.

В пустые дни, когда матчей мало, или в дневные часы, зачастую ФОН дает расширенную линию на неформатные лиги — вроде Египта или итальянской Серии Б. Мало кто заранее анализирует такие матчи, так как смысла в этом мало, но, когда вы с помощью нашего LIVE-бота получаете уведомление, что по Египту дали карточки или офсайды, это неплохая перспектива для заработка, так как по этим лигам линия обычно слабее и вы, увидев, что дали хорошую роспись, можете быстро прикинуть, что здесь можно ловить, сделать заготовку, и спокойно ждать уведомления от бота, не отвлекаясь особо от своих дневных дел!

Настройка бота

Источник: smart-tables.ru

#6 – Бот для конвертации валют

#6 – Бот для конвертации валют

В уроке вы разработаете бота, что будет получать сумму и пару валют, а после будет выполнять конвертацию валюты. Для конвертации будет использована отдельная Python библиотека – CurrencyConverter.

Видеоурок

Для работы с конвертацией валют была использована библиотека CurrencyConverter . По схожему принципу вы можете интегрировать в бот любую доступную для Python библиотеку. За счет библиотек ваш бот сможет выполнять разный функционал от конвертации данных и до обработки сложных файлов, по типу PDF, видео файлов и тому подобное.

Весь код будет доступен после подписки на проект!

Источник: itproger.com

Рейтинг
( Пока оценок нет )
Загрузка ...