Как быстро создать бота в Telegram для СМИ
Роботы в Телеграм — это программы, автоматически выполняющие некоторые действия и реагирующие на команды пользователя. Разработчики мессенджера поощряют их создание, поэтому он является лидером по числу роботов. Как создать бота в Телеграмм для своего бизнеса или для обычного использования? Рассмотрим возможности и технологии.
Существующие варианты

Всего доступно три способа создания бота в Телеграмм:
- Создать в конструкторе. Это может быть другой сервис мессенджера, например, @manybot. Или онлайн оболочка, такая как Chatfuel.
- Самостоятельная разработка. Для этого необходимо иметь навыки программирования и разворачивания серверных приложений, начиная с установки программного обеспечения.
- Покупка. Сейчас появилось множество компаний и частных разработчиков, предлагающих купить бота для Телеграм индивидуально под заказ. Цены начинаются от 500 рублей, но в среднем составляют 10-15 тысяч.
Если у вас есть время и некоторые навыки работы с программным обеспечением, рекомендуем попробовать создать в конструкторе. Это поможет разобраться в схеме функционирования программ, что пригодится при заказе, если вы на него решитесь.
Процесс программирования

- Написание подробного технического задания. Оно поможет выделить основные требования к программе и структурировать процесс.
- Выбор среды программирования.
- Покупка хостинга или поиск бесплатного. Требования к нему определяются выбранной средой. Например, для разработки на РНР обязательно необходим сертификат SSL.
- Настройка программного обеспечения.
- Кодинг.
- Разворачивание. Сложность зависит от выбранной среды. Для Pythona это целый процесс, а на РНР все делается относительно просто.
- Отладка.
Процесс достаточно сложен и требует многих умений. Так что самостоятельно написать бота для Телеграмм, как видите, не каждому под силу.
Языки программирования
Как сделать бота в Телеграм и какой язык лучше выбрать? В принципе вы можете выбрать любой язык, который поддерживает серверное программирование и отправку запросов по протоколу https. Чаще всего для написания бота используют язык Python, также написать бота можно на PHP или C++, C#, Ruby.
Привязка оплаты

Многие сервисы предназначены для упрощения процесса покупок в сети. В разработке используются методы Payment API, которые позволяют привязать системы оплаты к программе. Осуществляется процесс по алгоритму:
- Разработчик внедряет ключи и выбирает подключенного к системе провайдера для выполнения транзакций.
- В боте появляется кнопка «Pay».
- Пользователь робота может совершать платежи, указывая свои данные. Они привязываются к его аккаунту. Доступны стали и мобильные платежи.
- Финансовые транзакции проводятся напрямую между клиентом и платежной системой. Телеграмм в этом процессе не участвует. Его задача — предоставить платформу для реализации функций. За счет этого данные о платежах не доступны третьим лицам.
- Клиент получает отчет о транзакции, в который включены все данные о покупке.
При этом разработчики мессенджера не принимают никаких претензий, перекладывая всю ответственность на платёжную систему и самого пользователя.
Но обещают по отзывам блокировать ненадежных провайдеров. На сегодняшний день можно создать бота в Телеграмме для продажи за Киви и Яндекс.Деньги.
Создать бота самому своими руками
Симулятор собеседника Telegram — это программа, которая запускается и работает на вашей стороне. Она посылает запросы к АПИ Telegram Bot, который является достаточно простым:
- Программа обращается к установленным параметрам по ссылке;
- Телеграмм отвечает JSON массивом.
Чтобы понять принцип работы Telegram API, нужно попробовать создать элементарного бота в Телеграмм.
Регистрация
До того как создать бота телеграмм, нужно сделать новую учетную запись для программы Telegram и получить присвоенный ей ID, который является также токеном. В Телеграмм помощь при такой регистрации оказывает виртуальный помощник @BotFather.
Делается это так:
- Боту следует написать инструкцию /start.
- В ответ он пришлет список всех своих команд.
- Далее нужно отправить установку /newbot.
- @BotFather предлагает придумать новое имя. Оно должно заканчиваться словом «bot».
- Если все сделано правильно, помощник присылает токен нового виртуального пользователя и url для добавления его в список контактов.
- Дальнейшую настройку можно осуществлять через специального бота @ManyBot.
Полученную комбинацию желательно протестировать этой ссылкой: api.telegram.org/bot/getMe.
Процесс программирования
В данной статье рассказывается, как создать бота телеграмм на Python3, но все алгоритмы можно перенести на любой язык, например, можно написать бота для Телеграм на PHP.
В Telegram есть возможность вместо выгрузки сообщений вручную установить вебхук, чтобы они присылали каждое письмо сами. Для создания Telegram бота на Python лучше воспользоваться каким-нибудь реактором, например, tornado.web.
Костяк программы:

Перед тем как создать бота телеграмм и запустить его, нужно установить webhook на нужный адрес и отловить выходной сигнал. Это делается для того, чтобы возвратить поведение с выгрузкой событий вручную.
Логика будет находиться в классе tornado.web.RequestHandler, который реактор принимает для обработки запросов.

CMD обозначает словарь всех доступных команд. Send_reply — это функция отправления ответа. Она принимает готовый массив Message.
Код вот:
Команды
Сначала следует научить программу бота в Telegram константам /start и /help:

Объект message[‘from’] является массивом типа User. От него бот получает данные пользователя, его ID и имя. Будет лучше, если функция ответов будет принадлежать message[‘chat’][‘id’]. Так при общении там будет User, а в случае чата — id последнего.
Установке /start отводится сразу две функции:
• команда без параметров нужна для вывода данных о боте; • с параметрами — для идентификации.
Есть смысл применять ее для требующих авторизации действий.
Теперь вы можете создать любое собственное задание. К примеру, /base64.

Для тех, кто пользуется мобильным Telegram, будет полезно дать @BotFather перечень команд, которые должен принимать новый виртуальный собеседник:

Если пользователь Телеграмм захочет увидеть перечень доступных заданий (например, чтобы узнать, как убить программу после выполнения задачи), ему нужно будет написать «/».
Как научить бота говорить
Телеграмм присылает полностью все сообщение. Ограничение на необходимость ставить перед командами слеш создано только для удобства пользователей. Это позволяет научить программу отвечать по-человечески. Для того чтобы дать ей возможность получать в группах все сообщения, нужно написать /setprivacy помощнику @BotFather, отключая, таким образом, приватность.
В Handler следует добавить обработчик:
В список команд нужно включить речь:

Значение 75 здесь отображает вероятность того, что хочет сказать пользователь. Константа format_map удобна для описания требующих подстановки строк.
Так бот сможет отвечать на приветствия и обращаться к собеседнику по имени.
Отсылаемые сообщения могут быть не только текстовыми
Теперь, когда вы знаете, как создать бота телеграмм, можно сделать возможность не только писать фразы, но и делиться изображениями, аудиофайлами.
Например, можно расширить словарь RESPONSES так:
И будем ловить сообщения:
Теперь объект Message не включает в себя текст, поэтому нужно изменить send_reply:
Так робот будет иногда присылать картинку вместо времени:

Как видите, создать виртуального собеседника Telegram и научить его общаться совсем не сложно. Удалить его можно в любое время другой командой, посылаемой @BotFather.
Спасибо статье: https://habrahabr.ru/post/262247/
По логике можно и купить бота. Вот подробная статья: http://telegramzy.ru/kupit-bota/
После того, как вы создали аккаунт на Zapier, ищем в панели красную кнопку «Make a zap» и создаем связку сервисов. Для трансляции через своего бота пользовательского контента, а не только своего авторского, удобно подключить кросс-пост по нужному вам тэгу из twitter или instagram. Для этого, соответственно, выбираем исходное приложение, авторизуем его и устанавливаем «триггер», условие для срабатывания кросс-поста. Сообщение по тэгу — «Search mention». Обратите внимание, что здесь можно указать как хэштэг с символом #, так и просто ключевую фразу в тексте.
Затем нам нужно подключить вашего бота — снова понадобится его авторизационный код. Чтобы его посмотреть, просто отправляем /botkey в чате и полученную строчку возвращаем в Zapier.
На следующем шаге сервис протестирует, есть ли что-то по этому запросу на указанной нами площадке, и предложит сохранить zap. Переводим переключатель в настройках на «On», и каждые 15 минут сервис будет проверять новые посты на наличие хэштэга и отправлять их вашему боту.
Вот мы и справились. Теперь у вас есть свой telegram ретранслятор обновлений сайта или популярных аккаунтов в социальных сетях.