Полезные боты телеграм. Чат-боты «Telegram» для поиска людей

Добавить в каталог

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

Добавляйте своих ботов

Собранный нами список ботов не является исчерпывающим и Мы надеемся существенно его пополнить с Вашей помощью! Добавьте Вашего или просто интересного бота, в специальную форму и он появится на сайте, после проверки нашим модератором.

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

Первые боты в Telegram, с которыми сталкиваются русскоязычные клиенты мессенджера – автоматические профили, рассылающий файлы локализации, например, Робот Антон.

Создать алгоритм можно самостоятельно. Иной – более простой – вариант – скачать и установить готовый. О том, как инсталлировать бот Telegram, сколько стоит данная услуга и как получить русскоязычную версию бесплатно, .

Как работают боты для мессенджера Telegram на русском

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

У некоторых пользователей, только начавших пользоваться системой, возникает вопрос касательно таких программ, как роботы Телеграмм: можно ли доверять боту? Нет ли риска потерять свой аккаунт или, хуже того, стать жертвой хакера, утратив контроль над всем аппаратом? К счастью, это исключено – боты исключительно полезны. Они полностью безопасны в использовании.

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

@rubbot — Здесь вы можете узнать самый актуальный курс валют (Доллар или Евро) по отношению к рублю.

@globalweatherbot — Показывает погоду для любого указанного вами города.

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

@foodsearchbot — этот бот найдет для вас ближайшее место, где вы сможете перекусить. Удобно же, да?

@lingvo - персональный переводчик английских слов. Вы ему слово на английском, а он вам выдает мгновенно на русский, и наоборот.

@filesbot - Это вообще, я считаю, один из лучших ботов для телеграмма. Он является неплохой альтернативой облачным сервисам, так как позволяет пересылать файлы между пользователями, а также хранить их.

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

@vkmusic_bot - Хочешь послушать музыку из вконтакте? Теперь это можно сделать и через телеграмма

@questgamebot - Развлеките себя классным квестом в режиме реального времени

@zodiac_bot — Если вы верите в гороскопы, то этот замечательный бот будет для вас просто палочкой-выручалочкой в мире астрологии

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

@tap2bot — хотите занять вечерок чтением книги? Этот бот поможет вам найти и скачать искомую вами книгу либо по названию. либо по автору. Но на самом деле, книги — это лишь одна из его функций. С помощью него вы сможете найти отели, дешевые авиабилеты, кафе и даже торренты.

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

@baneksbot — если хотите немного расслабить мозг, то бот с анекдотами с радостью поможет вам в этом.

@greenzBot — теперь вы можете просчитывать ваши расходы и экономить бюджет не выходя из telegram.

@aliexplorerbot — актуальная информация о новинках на Aliexpress

@rublerobot — этот бот помогает принять важные решения в вашей жизни. Проще говоря, аналог «Орел и решка». Так что, если нет монетки, то телеграмм вам в помощь.

@orfobot — не хотите выглядеть неучем? Тогда отправьте ваше текст сюда на проверку. Орфобот не только укажет на ваши ошибки, но и сам их исправит. Незаменимая и очень полезная штука.

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

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

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

Ну а на этом у меня всё. Надеюсь, что моя подборка вам понравилась, поэтому не забывайте подписываться на обновления моего блога, а также делиться материалами статьи в социальных сетях. Удачи вам. Пока-пока!

С уважением, Дмитрий Костин.

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

Информационные боты

Информационные - это те боты, которые рассылают новые статьи с крупных порталах, сообщают о погоде или курсах валют.

@Weatherman - бот, который расскажет о погоде в вашем или любом другом городе. Выдаются прогнозы на текущий день, на завтра и на ближайшие 5 дней.


Поддерживается русский язык. Вся информация подается в одном сообщении с наглядными смайлами Emoji. Задать локацию можно простой отправкой своего местоположения боту. Weatherman автоматически каждый день уведомляет о погоде сообщениями.

Среди сугубо-новостных ботов стоит отметить:

  • @meduzaprobot - официальный бот популярного новостного издания Meduza.
  • @tgnewsbot - бот с оперативными новостями о самом мессенджере Telegram на русском языке.
  • @RussiaTodayRusBot - автоматический подписной бот для получения свежих публикаций с Russia Today (на русском).
  • @lifehackerrubot - бот известного портала с новостями и статьями, которые в простонародье именуются «лайфхаками».
@misis_bot - бот для поиска учебных материалов в библиотеке Национального исследовательского технологического университета Москвы «МИСиС».


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

@rubbot - бот, который отправит вам актуальный курс валют.


RubBot показывает курса рубля к доллару, рубля к евро, а также цену нефти Brent. Вместе с курсом указывается понизился или повысился он сегодня и насколько.

@my_ali_bot - бот для популярного китайского интернет-магазина AliExpress. Умеет искать товары по разным категориям, показывает избранные предложения, а еще кураторы бота периодически отправляют специальные предложения со скидками.


Также @my_ali_bot сразу предлагает ссылки на каналы, где в удобном формате публикуются товары из разных категорий: для мужчин, для женщин, гаджеты, для дома и другие.

@ya - официальный поисковой бот от российской компании «Яндекс». Позволяет искать простую информацию, картинки, видео и прочее в «Яндексе».


С помощью бота @ya можно узнать какая погода сейчас, какой курс погоды или какие фильмы сейчас идут в прокате. Есть интеграция с Яндекс.Маркетом. Бот распознает простые человеческие команды.

Контент-боты

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

@ivideobot - очень удобный и нужный многим бот, который позволяет напрямую скачивать видео с хостинга YouTube. Просто отправьте боту ссылку и он ответит другими ссылками на прямое скачивание на ролики с разным качеством - от 3GP до webM.


Для музыки предусмотрены специальные опции - можно выбрать только скачивание аудио-дорожки отдельно.

@instasave_bot - похожий по функционалу на предыдущий бот, который может сохранять фотографии и видео с сервиса Instagram.


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

@vkmusic_bot - удобный бот, который позволяет слушать и скачивать музыку из социальной сети «ВКонтакте» даже без регистрации.


Отправляем название нужной песни или исполнителя - в ответ получаем список список из композиций. Каждую можно прослушать прямо внутри Telegram или скачать на компьютер или смартфон / планшет.

@umadbot и @gifscombot - два бота, которые связаны с «гифками». Первый отправляет анимации по разным запросам, но только на английском, а второй умеет конвертировать видео с популярных сервисов и социальных сетей в обычные «гифки».


Бот @gifscombot поддерживает Instagram, Vine, Facebook, Twitter, Gfycat и несколько других сервисов для конвертации видео. Работает очень просто: отправляем ссылку на видео - получаем уже готовую гифку.

Игры

В Telegram среди прочего довольно много игровых ботов, с которыми можно интересно провести время.

@mypokerbot - бот для игры в покер с друзьями из списка контактов. Чтобы добавить человека в игру, достаточно отправить ему простое приглашение.

Бот поддерживает русский язык и имеет удобную интеграцию с Emoji.

@country_bot - бот с простой игрой, которая проверяет вас и ваших друзей на знание флагов разных стран.

Бот присылает флаг, а в ответ нужно отправить название государства.

@krestikinolikibot - классические крестики-нолики с ботом. Есть еще аналогичный бот @oxbot , который позволяет играть в крестики-нолики со случайными пользователями или друзьями из списка контактов.


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

Любителям графических новелл и интересных историй понравятся два следующих бота: @everlastingsummerbot - текстовая адаптация популярной новеллы «Бесконечное лето» и @questgamebot - бот с интерактивным текстовым приключением.

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

Несмотря на то, что на российском рынке до 2015 года практически безраздельно властвовали несколько популярных приложений, в частности «Viber» и «WhatsApp» , основатель «ВКонтакте» Павел Дуров создал новый бесплатный мессенджер «Telegram». Многие не рассчитывали на его значительный успех, и большинство аналитических материалов сводилось к тому, что большая часть пользователей перестанет им пользоваться через короткое время. Но новинка, помимо лёгкости, скорости, невероятной безопасности и полной кроссплатформенности, получила ряд уникальных функций. Одной из таких исключительных функций являются боты. Это специальные чаты, которые управляются компьютерным искусственным интеллектом.

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

В сегодняшнем материале мы расскажем вам о 10 самых интересных и полезных ботах для «Telegram» . Мы проведём небольшой обзор каждого из них, а также вкратце расскажем, как ими пользоваться.

Хотите быстро получать сводку о прогнозе погоды в вашем городе? Теперь вы сможете смело отказаться от различных погодных приложений, разряжающих батарею вашего смартфона. Больше не нужно тратить лишнее время на запуск и трафик на загрузку прогноза. Воспользуйтесь этим великолепным погодным ботом. Из всех погодных этот - самый популярный.

Как пользоваться:

  1. Выберите язык общения. Доступны русский, английский, арабский, португальский, итальянский, испанский, немецкий, фарси, французский, иврит, японский, китайский, корейский и турецкий языки.
  2. Выберите город. Для этого можно отправить ваше местоположение либо написать название города латинскими символами.
  3. Настройте единицы измерения. Можно изменить шкалу отображения температуры: в градусах Цельсия или по Фаренгейту.
  4. При необходимости настройки уведомления для погоды на утро и на вечер. В указанное вами время бот пришлёт сообщение со свежим прогнозом погоды.
  5. Выберите прогноз на сегодня, завтра или на 5 дней. Также можно просмотреть более подробный и почасовой прогноз.

Нужно зарегистрироваться на каком-то онлайн-сервисе, но не хотите светить свой основной электронный ящик? Не беда! Воспользуйтесь этим замечательным ботом. Что он может вам предложить? Он быстро сгенерирует временный почтовый ящик, который будет жить всего лишь 10 минут, после чего все ваши данные будут уничтожены. Этого времени вполне достаточно, чтобы зарегистрироваться на сервисе и подтвердить адрес электронной почты. Это лучшее, что может быть. Бот будет очень полезен в том случае, если нужно зарегистрироваться на сайте, которым вы не собираетесь пользоваться на постоянной основе.

Как пользоваться:

  1. При первом запуске измените язык на русский. Сразу после приветственного сообщения вы увидите следующую строку: Change language:/language. Нажмите на команду, после чего выберите язык из списка. Кроме русского и английского, также доступны итальянский, китайский и арабский языки.
  2. Воспользуйтесь командой НОВЫЙ ЯЩИК, после чего в боте сразу же генерируются email и пароль. Перейдите по ссылке «Прочитать письма», чтобы получить доступ к своей почте. Вам даже не придётся вводить пароль.

To PDF

Единственной задачей этого бота является преобразование документов в формат PDF прямо в «Телеграмме». Он распознаёт такие текстовые форматы, как DOC, DOCX, ODT, TXT и JPG. Список небольшой, но возможность практически мгновенного преобразования без необходимости загрузки на специальные серверы и установки специального софта не могут не радовать.

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

Pronunciation Bot

@pronunciationbot

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

Как пользоваться:

  1. Нажмите меню выбора команд в виде косой линии (/).
  2. /language - выберите язык из предложенного списка.
  3. /pronounce или /p - после выбора команды введите текст, который нужно озвучить.
  4. /ipa или /i - после выбора команды введите текст, который бот преобразит в виде транскрипции по международным правилам.
  5. /help - выберите команду, чтобы получить помощь.
  6. /feedback - отправьте отзыв команде разработчиков.

Несмотря на то, что возможностей загрузить видео с YouTube на сегодня очень много, пользоваться ими далеко не всегда удобно. Особенно если под рукой доступно только мобильное устройство. Этот бот «Телеграмм» значительно упрощает процедуру загрузки видео. Он предложит вам скачать необходимый файл в различном качестве и в нескольких форматах, включая аудио.

Как пользоваться:

  1. Скопируйте ссылку на видео и вставьте её в чат.
  2. Через несколько секунд бот предложит вам варианты загрузки. Их количество может достигать 10. Список будет разбит на несколько страниц по три варианта, между которыми можно перемещаться, нажимая на кнопку Next или Previous.
  3. Нажмите на кнопку с номером наиболее подходящего для вас варианта скачивания.
  4. Дождитесь формирования ссылки и сохраните видео на своё устройство.

InstaSave

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

Как пользоваться:

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

Разработчик также заверяет, что с помощью бота можно сохранять видео с YouTube, но на практике компьютер отвечает, что ссылка не поддерживается.

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

Как пользоваться:

  1. По умолчанию бот будет переводить ваш текст с русского на английский язык. Если вы хотите использовать другую языковую пару, воспользуйтесь командой /mylang для установки вашего языка, а также /tolang для выбора языка, на которой будете переводить.
  2. Введите или вставьте скопированный текст для перевода.
  3. Бот сразу же в ответном сообщении пришлёт перевод.

Поиск ближайших кафе и баров

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

Как пользоваться:

  1. /radius XXXX - задайте радиус поиска, где XXXX - количество метров. Например, если ввести /radius 1000, то поиск будет вестись в радиусе километра. По умолчанию радиус поиска составляет 500 метров.
  2. Отправьте в чат ваше местоположение, после чего выберите категорию поиска: бары, кафе или рестораны.
  3. Выберите интересующее вас заведение, после чего бот отобразит его на карте.
  4. Если нужно проложить маршрут, прямо с чата можно запустить карты Google.

@flibustafreebookbot

Хотите быстро найти , но не хочется тратить время на поиск в браузере? Хороший бот от крупнейшей онлайн-библиотеки значительно ускорит процесс выбора и поиска необходимой книги. Доступен поиск по названиям книг, по авторам, либо же бот может предложить случайную книгу. Каждая книга может быть скачана как минимум в трёх форматах.

Как пользоваться:

  • /help - краткая справка, как пользоваться ботом;
  • /setting - настройки поискового робота, в этом пункте можно настроить форматы файлов, в которых вы хотите скачать найдены книги;
  • /search - принудительный запуск поиска;
  • /book - поиск по названию книги;
  • /author - поиск книги по автору;
  • /random - случайная книга.

Telegram Store Bot

Очень мощный, если не самый мощный, поисковый бот, имеющий разные полезные и интересные функции, с помощью которых можно отыскать любого другого бота для «Telegram». Можно отслеживать топ ботов, лучшие новинки, искать по названию, а также сортировать боты по категориям.

Как пользоваться:

  1. При первом запуске выберите свой часовой пояс, язык бота, языки, на которых вы планируете искать других ботов, видимость контента для взрослых, а также уведомления о лучших ботах за неделю, месяц или день.
  2. Топ ботов. Отображает самые рейтинговые и популярные на данный момент боты.
  3. Лучшие новинки. Лучшие на данный момент новые боты.
  4. Недавно добавленные. Иногда здесь могут быть найдены классные боты, которые ещё не успели набрать высокий рейтинг.
  5. По категориям. Позволяет отсортировать всех ботов по таким категориям, как игры, развлечения, социальные, фото и видео, новости, инструменты, образование, для взрослых и broadcast.

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

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

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

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

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

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

Каркас бота:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN MyURL = "https://example.com/hook" api = requests.Session() application = tornado.web.Application([ (r"/", Handler), ]) if __name__ == "__main__": signal.signal(signal.SIGTERM, signal_term_handler) try: set_hook = api.get(URL + "setWebhook?url=%s" % MyURL) if set_hook.status_code != 200: logging.error("Can"t set hook: %s. Quit." % set_hook.text) exit(1) application.listen(8888) tornado.ioloop.IOLoop.current().start() except KeyboardInterrupt: signal_term_handler(signal.SIGTERM, None)
Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.

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

Class Handler(tornado.web.RequestHandler): def post(self): try: logging.debug("Got request: %s" % self.request.body) update = tornado.escape.json_decode(self.request.body) message = update["message"] text = message.get("text") if text: logging.info("MESSAGE\t%s\t%s" % (message["chat"]["id"], text)) if text == "/": command, *arguments = text.split(" ", 1) response = CMD.get(command, not_found)(arguments, message) logging.info("REPLY\t%s\t%s" % (message["chat"]["id"], response)) send_reply(response) except Exception as e: logging.warning(str(e))
Здесь CMD - словарь доступных команд, а send_reply - функция отправки ответа, которая на вход принимает уже сформированный объект Message .

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

Def send_reply(response): if "text" in response: api.post(URL + "sendMessage", data=response)

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

3. Команды

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

Def help_message(arguments, message): response = {"chat_id": message["chat"]["id"]} result = ["Hey, %s!" % message["from"].get("first_name"), "\rI can accept only these commands:"] for command in CMD: result.append(command) response["text"] = "\n\t".join(result) return response

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

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

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

Def base64_decode(arguments, message): response = {"chat_id": message["chat"]["id"]} try: response["text"] = b64decode(" ".join(arguments).encode("utf8")) except: response["text"] = "Can"t decode it" finally: return response

Для пользователей мобильного 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:

Command1 - Description
command2 - Another description
I:
whoisyourdaddy - Information about author
base64 - Base64 decode
BotFather: Success! Command list updated. /help

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

4. Свобода

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

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

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

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

If text == "/": ... else: response = CMD[""](message) logging.info("REPLY\t%s\t%s" % (message["chat"]["id"], response)) send_reply(response)
А потом в список команд добавляем псевдо-речь:

RESPONSES = { "Hello": ["Hi there!", "Hi!", "Welcome!", "Hello, {name}!"], "Hi there": ["Hello!", "Hello, {name}!", "Hi!", "Welcome!"], "Hi!": ["Hi there!", "Hello, {name}!", "Welcome!", "Hello!"], "Welcome": ["Hi there!", "Hi!", "Hello!", "Hello, {name}!",], } def human_response(message): leven = fuzzywuzzy.process.extract(message.get("text", ""), RESPONSES.keys(), limit=1) response = {"chat_id": message["chat"]["id"]} if leven < 75: response["text"] = "I can not understand you" else: response["text"] = random.choice(RESPONSES.get(leven)).format_map({"name": message["from"].get("first_name", "")}) return response
Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map - удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

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

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

RESPONSES["What time is it?"] = ["", "{date} UTC"]
И будем отлавливать текст :

If response["text"] == "": response["sticker"] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC" del response["text"]
Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:

Def send_reply(response): if "sticker" in response: api.post(URL + "sendSticker", data=response) elif "text" in response: api.post(URL + "sendMessage", data=response)
И все, теперь бот будет время от времени присылать стикер вместо времени:

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

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

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

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

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

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

While True: r = requests.get(URL + "?offset=%s" % (last + 1)) if r.status_code == 200: for message in r.json()["result"]: last = int(message["update_id"]) requests.post("http://localhost:8888/", data=json.dumps(message), headers={"Content-type": "application/json", "Accept": "text/plain"}) else: logging.warning("FAIL " + r.text) time.sleep(3)

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

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

Теги: Добавить метки