Как подписаться на бота в телеграмме – Боты и роботы в Телеграмм

Содержание

Боты и роботы в Телеграмм

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

Вам достаточно знать список фраз, на которые роботы в Telegram реагируют и дают ответы.  Самые популярные боты это — Робот Антон — @telerobot, который может вам подсказать погоду, курс валюты, русифицировать ваш Телеграмм, также он в курсе всех новостей в мире, спорте, культуре, науке и многое другое. Тажке вы сможете узнать какие события или мероприятия планируются в вашем городе.

Зачем нужны Боты Телеграмм и как ими пользоваться ?

Telegram Bots — это функция присущая только мессенджеру Телеграмм. Давайте рассмотрим какие еще боты есть в телеграмме и как их добавить в свой список контактов.

  • @quizbot Робот, устраивающий викторины. Для старта наберите бот старт
  • @BenderBot Робот с расширенным набором плагинов. Для помощи наберите !help
  • @clippy Робот, созадающий стикеры из изображений. Для помощи наберите help
  • @cbr_bot Робот который показывает курс валюты

Как добавить бота в Телеграмм:

  1. Заходим в TM (Telegram Messenger) и открываем поиск, вводим имя нужного бота
  2. Теперь пишем команду нашему боту:

Робот Антон — @telerobot может отвечать на следующие команды :

  • Telegram Bot 0.13.0
  • locale [ios|android|windows|wp|osx] [ru|ua|be|uz|az|tr|tt] — Отправляет файл локализации
  • погода [город] — Погода в указанном городе
  • курс [валюта] — Текущие курсы валют и сырья по ЦБ РФ
  • пикабу — Случайный пост из горячего пикабу
  • гадай — Посмотреть в хрустальный шар
  • новость [категория] — Случайная новость. Чтобы просмотреть список категорий, наберите новости список
  • хаха — Рассказать несмешной анекдот
  • баш — Случайная цитата с bash.im

Как создавать своего бота в Telegram Messenger?

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

telegram-free.org

Как найти Бота в Телеграмм

Как добавить и найти Бота в Телеграмме? Прочитав статью, ты узнаешь, как искать и подключить Ботов в Telegram. Итак, приступим!

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

Как искать и подключить ботов в Telegram

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

Можно выделить 2 самых простых и доступных способа поиска ботов в Телеграмме:

  1. Через специального робота @StoreBot
  2. Использовать каталог на любом из ресурсов в сети интернет

Для того чтобы воспользоваться поисковым роботом сделайте следующее:

Еще более простой способ, это найти нужно робота в интернете:

  • Для этого переходим в наш каталог ботов и выбираем нужного;
  • После этого достаточно просто вбить его имя в строку поиска в приложении и запустить робота.

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

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

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

telegramzy.ru

Как в Телеграмме найти бота и подключить его в чат лист Telegram

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

Где искать?

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

Один из самых удобных способов – поиск в нашем каталоге ботов Телеграмм, где можно отфильтровать результаты поиска по категориям.

Второй вариант поиска — использование рубрикаторов. Их также можно найти в поисковой системе. Это не полноценный ресурс, скорее, частный обзор.
Один из самых удобных ресурсов — @storebot.

Можно воспользоваться и сайтом Storebot.me

Он объединяет в себе строку поиска, новинки, рубрикатор, топ чарт. Расскажем подробнее, как искать ботов в Телеграмм (Telegram) с помощью этого сервиса.

Чтобы найти и вызвать бота, сделайте следующее:

  • Войдите в мессенджер и в строке поиска наберите @storebot. В результатах щелкните по его названию.

  • Нажмите «Start» или «Начать».

  • Откроется окно чата и вы сможете воспользоваться меню:
    1. Топ.
    2. Лучшие новинки.
    3. Недавно добавленные.
    4. По категориям.
    5. Вывод поисковой формы.

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

Топ лучших каталогов Telegram – поиск ботов

  1. Ru.telegram-store
    https://ru.telegram-store.com/catalog/product-category/bots/
    Русскоязычный сайт самого известного каталога роботов. Здесь можно найти все.
  2. Catalog-Telegram
    https://catalog-telegram.com/
    Все сервисы разбиты на категории. Также есть строка поиска, и новинки.
  3. Telegram-ru
    http://telegram-ru.com/directory_bots.html
    Имеет только рубрикатор, в котором размещены обзоры.
  4. Telegram.org.ru
    http://telegram.org.ru/telegram-bots/
    Простой перечень известных ресурсов. Пользователи голосуют за каждый, поэтому можно увидеть их рейтинг.

В любом из них можно найти много интересного. А как подключить бота в Телеграмм? Очень просто – просто щелкните по нему, если же его необходимо добавить в групп, то зайдите в меню группы и в поиске участников введите имя бота и нажмите « Пригласить». Откроется страница программы. Если вы ищете с ПК, то можете нажать «Open in Web» и робот добавится в список вашего аккаунта. Если вы ищете с мобильного устройства, то прежде чем установить бот, скачайте мобильное приложение Telegram. Это можно сделать в Google Play или AppStore. Кстати, если вы не знаете, как найти и добавить бота в телеграмме на Iphone, то ответ прост – точно также. Программа не зависит от платформы, на которой установлен Телеграмм.

Нужные боты в Телеграмме

  1. @MStickersBot
    Автоматический подбор изображения к контексту. Введите сообщение, а программа подберет стикер.
  2. @Weatherman
    Оперативная сводка погоды. Позволяет задать время получения актуальной информации. Также предлагается краткий или подробный прогноз на выбор.
  3. @kino_bot
    Информация о новинках кино. Просто подпишитесь и получайте каждый час данные о новых фильмах.
  4. @sberometerbot
    Предоставляет информацию о курсах валют, драгметаллов и топлива. Достаточно набрать название интересующей валюты и будет прислано сообщение об официальном и биржевом курсах на текущий момент.
  5. @yandexmapsbot
    Разработка от Яндекс.Карт. Позволяет построить маршрут, найти местоположение по адресу, получить информацию о пробках.
  6. @mirabellabot
    Аналог календаря. Сохраняет закладки. Можно делать текстовые заметки.
  7. @IceCalcBot
    Заменяет калькулятор. Имеет подробную подсказку.
  8. @VestniqBot
    Формирует подборку из указанных каналов.
  9. @transnow_bot
    Русско-английский переводчик. Определяет язык сообщения и выдает подробный перевод.

telegramzy.ru

Как создать и подключить бота к каналу Telegram для оформления постов!

В мессенджере Telegram, если размещать на своём канале посты стандартным способом, не заморачиваясь с подключением каких-либо ботов, вы не сможете эти посты никак оформить. Максимум — текст и ссылку приложить. И то ссылку эту даже спрятать не получится в какое-нибудь слово или фразу, можно только в обычном виде отправить 🙂 А это, как говорится, не камельфо, некрасиво… Ну и другие возможности оформления также будут закрыты: возможность оформить пост разными шрифтами, прикрепить картинку, добавить смайликов и прочего.

Сейчас речь идёт именно о посте (т.е. о сообщении) на канал, а не о статье в Telegra.ph!

Но вы же хотите канал вести нормально, а не как попало? 🙂 А нормально — это значит не только годный контент выдавать подписчикам, но и оформлять на уровне!

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

Система этих ботов в Телеграме на самом деле маленько запутанная 🙂 Я не сразу въехал что к чему и почему, например, одного бота нужно создавать через другого бота 🙂 Но я помогу в этом разобраться и после того как начнете потихоньку работать с ботами, пазл в голове полностью сложится!

Боты ControllerBot, BotFather и собственный наш бот. Что к чему!

Для начала внесу немного ясности, чтобы сразу хоть немного прояснить ситуацию с этими ботами 🙂

  • ControllerBot — это, проще говоря, основной управляющий бот в Телеграме. Через него вы можете управлять своими каналами (подключать к каналам собственных ботов и отключать), перейти к публикации поста в канале.

    С этого бота мы начнём работу по созданию своего бота и подключению его к каналу.

  • BotFather — служит непосредственно для управления вашими ботами. Через него можно создать и редактировать своих ботов.

  • Наш собственный бот, которого мы создадим и назовём как душе угодно, уже будет нам нужен именно для создания и оформления постов на наш канал.

Создаём собственного бота через ControllerBot и BotFather

Для добавления бота, в строке поиска Telegram наберите «ControllerBot» [1], затем откройте найденного бота с таким же названием [2] и в окне бота нажмите «Запустить» [3] внизу.


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


Бот предлагает нам список возможных действий. Сейчас нам необходимо подключить свой канал. Кликаем по предложенной ссылке «/addchannel» (добавить канал).


Получаем инструкцию по подключению бота. Кликаем по имени бота «@BotFather», указанного в пункте 1.


Вы перейдёте сразу в окно бота BotFather, через которого уже будем создавать своего бота. Нажмите «Запустить» внизу.


Бот ответит нам, после чего кликните по команде «/newbot»:


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


Теперь необходимо указать ник для создаваемого бота. Здесь можно указать тоже самое, но обязательно на конце должно стоять «bot» либо через знак нижнего подчёркивания «_bot». Пример:


Если вы вдруг получили сообщение «Sorry, this username is already taken. Please try something different.», то значит такой ник уже занят и нужно указать другой.


Если всё верно сделали, получите сообщение об успешном создании бота и специальный длинный ключ (токен):


Его нужно скопировать в ControllerBot, с которым мы сразу начинали работу.

Вставив ключ в окно чата ControllerBot, он в ответ выдаст инструкцию по добавлению канала к нему. Выполняем её…

Скопируйте из пункта 1 имя бота, которого вы только что создавали:


Затем открываем созданный нами канал для работы, переходим в его меню и выбираем «Управление каналом».


Открываем раздел «Администраторы».


Внизу нажимаем «Добавить администратора».


В строке поиска вверху [1] вставьте имя скопированного бота и после, когда он появится в результатах поиска, кликните по нему [2].


Нажимаем «ОК» в окне с вопросом о назначении бота администратором.


Ничего не изменяя в настройках, нажмите «Сохранить» в следующем окне.


Всё, бот в качестве администратора канала добавлен и теперь окно можно закрыть:


Теперь, выполняя пункт 2, нам нужно переслать в чат «Controller Bot» любое сообщение с вашего канала или его адрес. Проще взять адрес, поскольку канал новый и в нём может ещё не быть никаких сообщений.

Открываем снова меню канала и выбираем «Описание канала».


Копируем ссылку, которая является адресом вашего канала (кликните по ней правой кнопкой мыши и выберите «Копировать ссылку»).


Отправляем эту ссылку боту «Controller Bot».


Следующим сообщением он предложит выбрать часовой пояс. Нужно отправить в ответ название вашего города.


Далее бот уточняет, верно ли он выбрал город. Нажмите «Верно», если всё так или введите другой ближайший к вам город.


На этом всё. Канал к боту «Controller Bot» был подключен, основные настройки выполнены, о чём свидетельствует очередной ответ бота:



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

Заключение

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

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

Буду рад адекватным комментариям и готов подискутировать по теме статьи 🙂

serfery.ru

инструкции и примеры по созданию ботов в Телеграмм

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

Что такое Telegram-бот?

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

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

Функции и возможности ботов Телеграм

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

Основные причины создания бота:

  • работа в одно время сразу со многими клиентами;
  • проведение консультации по основным вопросам для потенциального клиента;
  • сокращение загруженности консультантов горячей линии;
  • сокращение затрат на дополнительных консультантов;
  • отбор и направление клиентов со сложными вопросами напрямую операторам и консультантам.

Как создать бота в Телеграм? Пошаговая инструкция

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

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

  1. Для начала необходимо загрузить и установить сам Телеграм на компьютер или телефон.
  2. Как только мессенджер установлен, заходим в приложение и вводим слово «Manybot» в поисковой строке (как всегда, оно обозначена картинкой лупы).
  3. Когда увидите результаты поиска, кликните на кнопку «Start» снизу в правом углу.
  4. Далее нажимаем на «Добавить нового бота».
  5. В ответ на эти действия всплывет окошко с сообщением от службы Телеграмм, в котором они подробно объяснят, как добавить бота в канал Telegram. Далее действуем по предложенной инструкции.
  6. По условиям мессенджера, затем нужно перейти в профиль BotFather. Если что, в инструкции есть ссылка, выделенная синим цветом.
  7. Теперь кликаем на «Send Message», чтобы перейти к диалогу с этим «собеседником».
  8. Вводим команду «start», чтобы увидеть перечень команд, которые будут доступны при добавлении бота.
  9. Выбираем команду «newbot» и ждет ответного сообщения.
  10. Теперь самое время придумать уникальное название для своего бота (имейте в виду, что оно должно быть на английском языке и с окончанием «bot»). Введите и отправьте его, когда придет ответ. Обязательно сохраните API-токен, который будет ключом для доступа к вашему боту.
  11. Опять переходим к Manybot. Сюда вставляем сохраненный API-токен и ждем ответной реакции.
  12. Затем нужно отослать цели создания бота (для чего он понадобился и как будет функционировать). Если не хотите морочить с этим голову, пропустите этот шаг с помощью кнопки «Skip». В ответ вы должны получить отчет о завершении создания бота.
  13. Как только уведомление пришло, нашу операцию «Как добавить бота в Telegram» можно считать завершенной. Последнее сообщение должно включать ссылку, по которой вы сможете пригласить людей из своих контактов. Там же можно найти перечень универсальных команд для постинга в соц. сетях.

Как проверить функциональность бота?

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

Если на этапе программирования и создания все было сделано верно, то ваш бот отобразится в строке поиска и отреагирует на сообщение.

Как самому сделать бота в Телеграме: добавляем команды

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

  1. Введите слово «Commands» и далее название самой команды.
  2. Теперь наберите ответную реакцию бота на эту команду. Она может включать одно или несколько сообщений с картинками видео- и аудиоматериалами. Сохраняем и ждем отчета о создании команды.

Таким же образом можно добавлять множество других команд. Их количество в мессенджере неограниченно.

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

  1. Печатаем «Commands» и название самой команды.
  2. Кликаем на «Показать команду», после чего ждем ответ от Телеграм.
  3. В ответе высветится кнопка, которая предложит скорректировать ответ бота. К чему мы и приступаем.

Бот и автоматический постинг

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

  1. Вводим в боте «Autoposting».
  2. Внизу должны появиться кнопки с социальными сетями. Нужно выбрать ту, записи которой мы хотим «копировать» и в чат-бот.
  3. Теперь необходимо ввести ссылку на вашу страницу, откуда боту нужно будет транслировать публикации. Совсем необязательно проходить авторизацию, можно даже оставить ссылку на чужую страницу.

Как запланировать пост в чат-боте?

Не секрет, что охват аудитории находится в прямой зависимости от времени публикации. Чаще всего опытный человек, который занимается контентом и его планированием, умеет определить оптимальный момент для постинга. Это время, когда запись увидит максимум подписчиков и потенциальных клиентов.

Но бывают ситуации, когда нет возможности подготовить и опубликовать пост. Тогда можно сделать это заранее. Для этого и существует отложенный постинг. Суть его заключается в следующем: создать публикацию можно, когда угодно, а отправить – когда необходимо. Здесь вы неограниченны. Можно поставить на постинг через 10 минут, а можно и через несколько дней.

Чтобы подготовить отложенную запись, нужно сделать следующее:

  1. В своем боте и введите «Newpost».
  2. Теперь пишем сам пост со всеми необходимыми вложениями.
  3. В нижней части экрана будут 4 кнопки. Предпоследней вы найдете как раз ту, что отвечает за отложенную публикацию. Кликайте на нее.
  4. Далее необходимо указать время, соответствующее вашему часовому поясу на данный момент.
  5. Затем вводим то время, когда нам нужно, чтобы в боте появилась подготовленная запись.
  6. Сохраняем пост.

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

Бот-телеграм: инструкция по созданию дополнительных кнопок

Чтобы свести свои действия к минимуму, можно создать особые кнопки команд. В результате, чтобы не набирать вручную каждое задание, можно просто выбрать в меню ту кнопку, которая отвечает за нужное нам «задание». Команда автоматически отправится. Итак, что же нужно сделать для этого:

  1. Вводим уже знакомое нам слово «Commands».
  2. В нижней части должна высветиться кнопка для настройки главного меню (обычно первый ряд с правой стороны). Кликайте!
  3. Нужно кликнуть на «Добавить пункт в меню».
  4. Из перечня выбираем нужную команду.
  5. Придумайте и напечатайте «имя» для созданной кнопки.

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

Полезные примеры Телеграм-ботов

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

  1. @music – для истинных ценителей классической музыки: можно послушать и скачать любимые композиции прямо в Телеграмме.
  2. @misis_sch_bot – вот так удобно в форме чат-бота выполнено расписание МИСиС.
  3. @FastAid_bot – ну и для тех, кто внезапно оказался в экстремальной ситуации и не хочет гуглить, есть бот по оказанию первой помощи.
  4. @EcoideaBot — поможет вам правильно сортировать мусор.

Сам процесс создания чат-бота в Телеграмм может сначала показаться долгим и нудным. На самом деле это очень интересно, а результат – во много раз упрощенная работа – будет наградой за ваши старания.

waytostart.ru

Как создавать ботов в Telegram / Habr

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

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

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

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

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

Пишем ему /start и получаем список всех его команд.

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

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

Не забудьте проверить полученный токен с помощью ссылки api.telegram.org/bot<TOKEN>/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[0] == '/':
                        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: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/<command>) (https://core.telegram.org/bots#privacy-mode)

  • All messages that start with a slash ‘/’ (see Commands above)
  • Messages that mention the bot by username
  • Replies to the bot’s own messages
  • Service messages (people added or removed from the group, etc.)

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

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

if text[0] == '/':
    ...
else:
    response = CMD["<speech>"](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)[0]
    response = {'chat_id': message['chat']['id']}
    if leven[1] < 75:
        response['text'] = "I can not understand you"
    else:
        response['text'] = random.choice(RESPONSES.get(leven[0])).format_map(
            {'name': message["from"].get("first_name", "")}
        )
    return response

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

5. Не текст.

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

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

RESPONSES["What time is it?"] = ["<at_sticker>", "{date} UTC"]


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

if response['text'] == "<at_sticker>":
        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’ (или любой другой метод, используемый ботом).

habr.com

Как подписаться на канал в Телеграм

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

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

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

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

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

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

  • Необходимо перейти в главное окно, а затем кликнуть на иконку, которая изображена в форме лупы (располагается в правой верхней части главного окна).
  • После нажатия на иконку появляется строка, которая используется для ввода необходимой поисковой информации, также появляется клавиатура. Перед тем, как подписаться на канал в Telegram, необходимо выполнить его поиск одним из следующих способов:
    • Осуществить ввод точного названия интересующего человека чата. В Telegram, каждому отдельно взятому элементу (чату, пользователю либо боту), присвоен свой уникальный ID. Такой идентификатор имеет следующее обозначение – @name. Вместо строки «name» вводится при помощи латиницы наименование интересующего человека чата.
    • Процедуру поиска в Telegram можно также выполнить по категории, к которой предположительно должен относиться интересующее пользователя сообщество. Например, если ввести категорию «Наука и техника», тогда человеку, на выбор будет предоставлен целый список, состоящий из названия пабликов, соответствующих этой тематике.
    • Если новый участник Telegram знает обыкновенное название чата, тогда необходимо просто ввести его в строке описание и аннотация.
  • На завершающем этапе просто необходимо выбрать наиболее подходящий для себя вариант, который представлен в итоговом результате поиска и подписаться.

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

Пошаговый алгоритм подписки на канал в Telegram

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

  1. Выбрать интересующий результат, который представлен в строке поисковой выдачи, а затем нажать на него.
  2. Кликнуть на клавишу «Подписаться» (в некоторых случаях она может называться «Присоединиться»). Эта клавиша расположена в нижней области окна/экрана.
  3. Чтобы подписаться, также можно кликнуть на аватар канала. В данном случае подписка происходит автоматическим способом, а новому участнику предоставляется вся информация о сообществе, на которое он подписывается.

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

Справка! Перед тем как оформить подписку на канал в Telegram рекомендуется изучить его содержимое. Чтобы не получать большие объемы ненужной информации, стоит подписаться не более чем на 10-20 сообществ в Телеграм.

Возможные проблемы при подписке на канал телеграм

В некоторых случаях, участники предпринимают попытки подключения, чтобы подписаться в мессенджере Telegram к каналам закрытого типа (закрытым). Стоит отметить, что оформить самостоятельно подписку в этом случае невозможно. Приватный, частный паблик не удастся отыскать, используя функцию общего поиска. Для его подключения потребуется специальная ссылка, которую необходимо получить от администратора либо создателя такого закрытого паблика. Также в Telegram существую сообщества с платной подпиской.

Просмотр подписчиков канала

Существует несколько разных способов, которые позволяют узнать и просмотреть количество подписчиков на канале Telegram. Первый способ предусматривает создание специального бота, который собирает всю информацию о подписчиках в базу данных. Второй способ предусматривает перевод имеющихся подписчиков, под мониторингом и созданием БД (базы данных), на другой канал.

Стоит отметить, что существует более простой способ, позволяющий получить список подписчиков. Однако он актуален для desktop версии Telegram. Чтобы посмотреть подписчиков, нужно выбрать канал, затем зайти в пункт (справа) информация, и нажать на расположенную в нижней части графу с количеством участников. Затем следует нажать на изображение (иконку) увеличительного стекла и ввести в открывшееся поле символ * (звездочка).

telegram-rus.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о