чертовка бот телеграмм код

История взлома всех игр в Telegram

Сейчас компьютерные игры везде. Присутствуют они и в Telegram. Расскажу о том, как были взломаны практически все игры этого мессенджера, обойдя самых первоклассных игроков, находящихся в топах скорбордов. Хочу поделится результатами исследований. О различных методиках взлома, читинга и путях обхода логики игр под катом.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

@gamebot

Первая игра, которая была рассмотрена несколько месяцев назад — LumberJack, играя дровосеком, нужно рубить ветки так, что бы они не придавили игрока. Цель игры в том, что бы срубить как можно больше веток за определенное количество времени.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Изначально, хотелось попрактиковаться в графическом читинге игр, то есть на основе графических данных на мониторе принимать решение. Программа должна эмулировать реакцию человека, отправляя нужные комбинации клавиш, исходя из ситуации на экране. Принцип построения логики программы для текущей игры следующий. Делается скриншот экрана размером 600×1 пиксель по правую сторону дерева. Не весь экран, потому что на процесс снятия скриншота такого большого пространства уходит больше времени. Затем программа в 6 точках проверяет цвет пикселей и на основе этого рассчитывает траекторию движения игрока сразу для 6 веток. Если справа есть ветка, уйти влево, если нет — остаться справа. За один ход делается 2 удара топором. Выполняются ходы, затем снова делается скриншот и цикл повторяется. Так будет продолжаться, пока не закончится время.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Код программы для python 2.7 в ОС Ubuntu 16.04

Для запуска нужно установить следующие зависимости

За эмуляцию клавиш в среде Linux отвечает утилита xte, подробнее можно почитать тут. За снятие скриншота выбранного участка экрана отвечает библиотека pyscreenshot, подробнее читать тут. Для работы программы нужно задать первую точку (самую нижнюю ветку справа, или место, где она могла бы находится), для этого можно воспользоваться функцией get_mouse(). Высота между ветками — 100 пикселей. Задержки между нажатиями клавиш и задержка между снятием скриншотов выставлена методом проб и ошибок. Меньше, чем эти значения, установить не вышло, программа не успевала обрабатывать изображение или нажимать клавиши. Пример работы представлен на видео.

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

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

Анализируя HTTP запросы, при окончании игры отправляется два типа запросов. Если пользователь не достиг нового рекорда.

Достаточно лишь подменить some_score на какое то значение, и новое число добавляется в таблицу.

В base64 отправляются данные о аккаунте, то есть id, имя игрока, который кликнул на игру, имя игры, а так же id чата.

Стоит отметить, что эта игра относится к боту @gamebot, на котором есть еще две игры, Math Battle и Corsairs. Более подробно была рассмотрена игра Math Battle.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

HTTP запрос с количеством баллов отправляется похожий. Стоит попробовать отправить запрос через инспектор в браузере.

Открыв режим отладчика, открыть исходный код main.min.js. Поставить несколько брекпоинтов (точек останова), запустить игру и найти переменную r, в которой хранится количество очков. Через консоль это значение можно менять.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Отключив режим дебага, выполнится функция отправки очков и таким образом можно отправить уже заданное количество очков. Что бы не кликать много раз, включая\отключая инспектор, стоит немного разобраться в исходниках main.min.js, отредактированный сервисом JS Beautifier. Вот три интересные функции.

Функция na() вызывается, когда достигнут новый рекорд, ca() нужна просто для получения scoreboard игры. Кстати, решение, какую функцию вызвать происходит в функции U() в этой строке.

При изменении параметра r и вызове функции na() должен быть включен режим дебага. Должно получится примерно так.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Исходный код немного обфусцирован, это усложняет его анализ, но основные вещи ясны.

Игра Corsairs, относящаяся так же к боту @gamebot решается всеми вышеописанными методами. За различные запросы на сервер я был забанен, и не могу добавляться в scoreboard, аккаунт находится в бан листе. Нужно быть осторожным при тестировании игр этого бота.

@gamee

Довольно популярным был бот @gamee. Выбрана игра Qubo.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Запрос, отправляемый в конце игры следующий

Подменить score, как в предыдущем боте, уже не получится. Генерируются хэши, которые подписывают score, play_time и тд, что бы таким простым способом нельзя было накрутить очки. Отладчик не очень помог, так как в нем было очень много переменных.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Пришлось анализировать код вручную. В исходном коде страницы игры можно найти такой кусок кода.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Примечательно, что скрипты подключаются не обычным способом, а через запрос в js, и поэтому их не видно в инспекторе. Любопытные два файла — gameUI.min.js и gameUIdesktop.min.js. В первом файле нашлась такая функция, которая является методом объекта gameeUI.

Очевидно, что входящий параметр e — очки, отправляемые на сервер. Отправив в консоли строку gameeUI.saveScore(some_score), можно получить заветное количество баллов.

К этому боту относятся игры «3+3», «Karate Kido», «Space Traveler», «Hexonix» и тд. Все решаются вышеописанным способом. Можно сделать вывод, что когда одна из игр очередного бота решается определенным способом, то им решаются и остальные игр этого бота.

@GamesHDBot

Довольно сложную по логике можно назвать игру «Galaxy Space Shooter». Красивая графика, много плюх в процессе игры, можно зарабатывать очки и монеты.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

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

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

@ludeiBot

Любопытным оказался этот бот. Игра для тестирования — «Jumping Submarine».

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Запрос при окончании игры следующий.

Очки подменить просто. Примечательно то, что в открытом виде посылается user_id. Если узнать id всех пользователей в чате, то можно сделать следующую атаку типа спам. Сделать это можно через API Telegram.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Идея в том, что можно мало того, что менять очки другого игрока в таблице, так еще и спамить в общем чате, отсылая уведомления о новом победителе текущей игры. Это довольно серьезная атака, если правильно ее сделать. Нельзя определить, кто на самом деле накручивает очки, и даже после исключения человека из чата (атакующего или того, кто «спамит») — все равно можно продолжать безобразничать. Можно «спамить» от имени любого участника чата, включая админа, заставив админа чата исключить определенных людей. Единственный способ прекратить такое мракобесие — админу чата удалить сообщение с предложенной игрой.

К этому боту относятся так же игры «iBasket», «Sumon», «Angry Piano».

@MeduzaGameBot

К этому боту относятся 5 игр, и их можно применять для того типа атаки, который описан выше.
К примеру игра, всем знакомый сапер.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Здесь еще проще. Обычным GET запросом, зная id чата и id пользователей можно устраивать спам.

@foragamesbot

Тут всего одна игра — «DevRunner»

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

После окончания игры отправляется два запроса

Второй запрос позволяет увидеть, на каком месте игрок с текущим количеством баллов. До того, как было начато тестирование, на первом месте был игрок с 2000-3000 баллов, а забавно то, что всего играло в игру около 13к людей. Получается никто из этих людей не додумался перехитрить эту игру 🙂 Подменив запросы с количеством очков 111113 оказался на первом месте.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

@brugamebot

Бота с этой игрой можно определенно назвать самыми скучными среди всех.

Пример — шахматы. Никакого рейтинга, оповещение о победе и так далее. Игра только client-side.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

@microgamesbot

Эта игра так же одна в этом боте, «Jumper Frog».

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Запрос в конце игры

Часть токена вырезана, но смысл должен быть ясен. На сервер отправляется в качестве данных только score. Подменить его просто. Вопрос в другом, как сервер распознал, что играл определенный человек, и записал его в scoreboard в чате телеграмма? А все просто — сервер берет данные из заголовка Referer токен, упомянутый выше. Странный костыль, насмешил. Логичный вопрос, что будет, если зайти по прямой ссылке на эту игру? Ничего особенного, вот только когда набрать очки, в ответ на запрос выше (без Referer) придет ответ такого вида.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

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

@foxgamebot

Теперь будет описана игра «Tricky Fox», которая является самой сложной по своей структуре среди всех, имеет относительно всех других игр высокий уровень безопасности, и что бы обойти ее, ушло много времени. Автор молодец, создал очень годную игру, было интересно ее разобрать. Процесс решения этой игры хочется описать подробно. Задача игрока — поедать куриц, прыгая из острова на остров. Зажимая левую клавишу мыши или палец на экране телефона можно заставить лисицу лететь нужное расстояния.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

При окончании игры отправляется такой запрос

Что за хэш пока не ясно. Это явно не hex или base64. В исходном 30 тысяч строк, если переформатировать код в читаемый вид. Был использован сервис JS Beautifier. Логично поискать какую нибуть подстроку по такому фильтру — post». Находится такая функция.

Поискав эту функцию через поиск, можно найти несколько мест, где она вызывается. К примеру из этих объектов — this.ApiService, или this.scoreView. Но ни один из них не был доступен через инспектор. Тогда было решено разобраться, что за хэш отправляется и как его декодировать.

Далее поиск производился уже по тексту setScore. Нашлась такая замечательная функция, которая объясняла примерно, как производится шифрование.

Сначала JSON формат еще не известных данных переводится в строку, затем эта строка разбивается на символы в массиве, меняется задом на перед порядок этих символов и строка склеивается заново. Небольшая антиреверс фишка от разработчика? Поставив брекпоинт как на скриншоте был получен доступ ко всем текущим функциям и объектам, доступными конкретно в строке 14016.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Теперь можно получить доступ к некоторым интересным параметрам.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Получается, что все данные шифруются алгоритмом AES 256 в режиме ECB. Но вот что не понятно, воспользовавшись хорошим сервисом по симметричному шифрованию получил.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

В то время, как программа выдавала другой результат.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

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

Исходя из логики _t, это время, когда была съедена очередная курица в миллисекундах, _f — координаты острова или курицы, _s — номер, _n — следующий остров с съеденной курицей. Получается на сервере обрабатываются не то, сколько очков набрано, а данные о какие данные были зафиксированы при съедении куриц. Очень хорошая идея с точки зрения безопасности игры.

Проведя несколько игр, не вышло определить, что такое _p и _r, скорее всего они для отвлечения внимания и усложнения понимания кода, очередная фишка разработчика. Но все переменные варьировались в определенных пределах и было написан скрипт, который исходя из нужного количества времени и необходимого количества очков генерировал бы JSON массивы.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Результат нужно было вставить в консоль и затем сделать подмену HTTP запроса. Увы это работало для нескольких очков, затем аккаунт был забанен. Видимо не все было учтено в скрипте.

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

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Или вот, например, непонятно зачем нужный ключ в base64 (при шифровании передавался md5 ключ).

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

И вот его расшифровка.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Это не все странности, найденные в коде. Впрочем, после еще нескольких часов отлаживания нашлось кое что интересное, функция catchAnimals.

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

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Прям перед установлением score в коде. Теперь в консоли поменять значение и продолжить выполнение скрипта.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

И вот так я был вознагражден за труды.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

В общий скорборд добавился немного позднее.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Примечательно то, что изменить очки можно всего одним массивом. В параметре _s записать нужное количество очков в 20чной системе исчисления, все это зашифровав кастомным алгоритмом aes, с сгенерированным ключем(md5 формат). Стоит отметить, что ключ выдается исходя из id чата, и не меняется в процессе игры. Исходя из id аккаунта в этой игре, можно сделать вывод, что в нее играло не менее 100 тысяч человек.

Хочется отметить, что выполнить эту атаку удалось благодаря уязвимости на сервере. Кода принимается JSON, расшифровывается, скорее всего, из массива данных берется массив с максимальным _s, и не важно, что он всего один. Поправить это просто — нужно парсить весь массив на предмет инкрементного увеличения _s, проверяя, что бы значение этого параметра соответствовало номеру вхождения в дереве JSON.

Какой можно сделать вывод? Все, что обрабатывается на стороне клиента, можно модифицировать, подменить, и не важно, насколько сложно шифруются данные для отправки и насколько сложно обфусцирован код. Очень порадовала игра «Tricky Fox», разработчик молодец. Пусть это всего лишь игра, на которую нужно тратить час-два максимум, все же стоит принимать меры по предотвращению читерства и обходу логики. На фоне других более популярных игр с халатным отношением к модификации очков очень хорошо сделана игра. Если ты, уважаемый читатель, хочешь разработать свою игру, то разобрав практически кейсы из этой статьи сможешь создать не только красивую, интересную, но и довольно защищенную игру.

Источник

Planw rld.ru

Это подборка самых интересных Telegram ботов для пробива личной информации. Хотите узнать кому принадлежит номер телефона? Или же интересен определенный сайта? Пробив по ИП, их отчеты и декларации. Соучредители и партнеры фирм. Какие машины принадлежат абоненту данного номера. И многое, многое другое.

Если вам интересна криптовалюта, обязательно заходите на мой Telegram канал. Там я публикую интересные сценарии поведения рынка. Где и куда лучше зайти, когда выйти. Очень полезно, а главное бесплатно!

@whoisdombot — этот Telegram бот пробивает основную информацию о интересующем вас домене (адресе сайта). Т.е. его текущий IP-адрес, а также IP зеркала, прошлые IP. Позволяет задать dig + trace запрос о домене. Дата регистрации, данные о регистраторе и т.д. Отличный бот

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

@vkfindface_bot — бот для поиска профиля человека в ВК по фотографии. Работает отлично, тестировал на своей фотке — нашёл все старые аккаунты. Обязательно сохраните себе, пригодится.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

@mailsearchbot — (telegram так же закрыло доступ к нему, сейчас много фейков не рабочих фэйков) С помощью данного Telegram бота я, с удивление для себя, узнал, что большинство паролей к моей почте были скомпрометированы. Потрясающий бот. Он способен пробить большинство email-ов, благодаря своей огромной базе. Условно бесплатное пользование. К сожалению на сегодня бот удалён, но есть схожий сайт https://haveibeenpwned.com/

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

@clerkinfobot — Telegram бот для пробива номера телефона по базе GetContact. Имеет возможность искать объявления по номеру телефона. Поиск номера телефона по нику Telegram. Поиск по паспорту и прочее. Работает неплохо, но база GetContact на данный момент недоступна, возможно в ближайшем будущем что-то поменяется.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

@EyeOfGodOnionBot — (используйте поиск Telegram, ссылку постоянно меняют) бот Глаз Бога. Поиск информации по номеру телефона, фотографии, электронной почте, Telegram аккаунту, авто и другое. Особо понравилась возможность узнать подписки на группы Telegram. Условно бесплатный.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

@bmi_np_bot — Telegram бот для пробива сотового оператора и региональной принадлежности по номеру телефону. Ну плюсом ещё часовой пояс показывает. Работает отлично.

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Если вам интересна криптовалюта, обязательно заходите на мой Telegram канал. Там я публикую интересные сценарии поведения рынка. Где и куда лучше зайти, когда выйти. Очень полезно, а главное бесплатно!

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Советую посмотреть еще несколько подборок про инлайн ботов — это те боты которые можно использовать прямо в группах. А также подборку полезных и развлекательных ботов. Возможно я пропустил какие-то интересные Telegram боты по пробиву. Расскажите в комментариях о своих любимых ботах.

Быстрые игры Telegram Gamee — зацени новый обзор и играй

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

Возможно вы откроете для себя много интересного поглядев рубрику Telegram или отфильтровав все записи по метке Telegram Боты

Очень часто встречаются совершенно липовые боты, которые нацелены исключительно на то, чтобы взять с вас деньги. Или задурить вам голову, такие как Узнать номер телефона Get Contact, буквально недавно рассматривал этого чудо бота, цель которого так и осталась за ширмой.

Каналы и чаты в Telegram

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

Чат Криптовалюта все любители криптовалют добро пожаловать!

Канал HYIP PW специально для админов HYIP-проектов, да и не только. я там публикую все свои секреты 🙂

Чат HYIP если вам знакомы такие вещи как H-Script, GoldCoders, HSbuilder ждём вас в нашем чате HYIP админов.

Источник

Инструкция: Как создавать ботов в Telegram

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

Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.

Рассмотрим API на примере создания тривиального бота:

1. Регистрация

Прежде чем начинать разработку, бота необходимо зарегистрировать и получить его уникальный id, являющийся одновременно и токеном. Для этого в Telegram существует специальный бот — @BotFather.

Пишем ему /start и получаем список всех его команд.
Первая и главная — /newbot — отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя — оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.

Для начала работы этого уже достаточно. Особо педантичные могут уже здесь присвоить боту аватар, описание и приветственное сообщение.

Не забудьте проверить полученный токен с помощью ссылки /getMe»>api.telegram.org/bot /getMe, говорят, не всегда работает с первого раза.

2. Программирование

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

Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)

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

Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.

Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект Message.

Собственно, её код довольно прост:

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

3. Команды

Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:

Структура message[‘from’] — это объект типа User, она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message[‘chat’][‘id’] — в случае личного общения там будет User, а в случае чата — id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.

Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.

После этого можно добавить какую-нибудь свою команду, например, /base64:

Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather : Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:

C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.

4. Свобода

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

UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/ ) (https://core.telegram.org/bots#privacy-mode)

Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.

Для начала в Handler добавляем обработчик:

А потом в список команд добавляем псевдо-речь:

Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

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

Для примера расширим словарь RESPONSES:

И будем отлавливать текст :

Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:

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

чертовка бот телеграмм код. Смотреть фото чертовка бот телеграмм код. Смотреть картинку чертовка бот телеграмм код. Картинка про чертовка бот телеграмм код. Фото чертовка бот телеграмм код

6. Возможности

Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).

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

7. Ограничения

К сожалению, на данный момент существует ограничение на использование webHook — он работает только по https и только с валидным сертификатом, что, например для меня пока критично за счет отсутствия поддержки сертифицирующими центрами динамических днс.

К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:

P.S. По пункту 7 нашел удобное решение — размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.

UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч ‘method’: ‘sendMessage’ (или любой другой метод, используемый ботом).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *