Создание бот телеграмм с net. Как создать бота для Телеграм — подробная инструкция

1,199 Время чтения: 6 мин.

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

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

Что такое бот

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

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

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

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

Где скачать

Мессенджер доступен как на мобильных устройствах, так и на компьютере.

Поддерживаются смартфоны, работающие на базе всех 3-х популярных операционных систем:

  1. Windows Phone;
  2. Android.

Также поддерживаются все компьютерные операционные системы:

  1. Windows;
  2. Linux;
  3. Mac OS.

Скачать приложение для смартфонов, планшетов и компьютеров можно на официальном сайте — telegram.org .

Внимание! Доступ к данному ресурсу в РФ может быть ограничен. Для отображения сайта рекомендуется использовать прокси-серверы или частные виртуальные сети (VPN).

Регистрация в Телеграмме

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

Это статья с сайта vseofinansah точка ru. Если вы ведите эту статью на другом сайте, значит ее украли.

После скачивания приложения процедура регистрации осуществляется следующим образом:

  • ввод номера мобильного телефона;

  • ввод кода из СМС для подтверждения телефона;

  • указание фамилии, имени и добавление фотографии;

  • нажатие “Зарегистрироваться”.

Процесс создания бота

Для этого:

  • в поле “Найти” главного меню мессенджера вводим “Botfather”, и нажимаем “ENTER”;

  • выбираем первого в списке бота (который отмечен галочкой);
  • кликаем “Запустить”, чтобы начать чатиться с ним;

  • знакомимся с перечнем доступных команд – среди всего множества, нам требуется команда “/newbot” (можно написать это как в поле “Написать сообщение”, так и просто кликнуть по этой команде в перечне, см. картинку для подробностей);

  • далее прописываем в поле “Написать сообщение” имя для нашего нового робота (на латинице) (примечание – создать бота можно только со свободным именем, если оно уже занято, Телеграмм выдаст соответствующее информационное сообщение — на картинке ниже представлено сообщение о незанятости имени);

  • теперь нужно придумать логин (он также должен быть не занят) (внимание – логин обязательно должен заканчиваться на “bot”, например, “cookbot”, “clothesbot”, “avtobot” и др.).

После успешного задания логина перед пользователем высветится информационное сообщение “Use this token to access the HTTP API”. Токен нужно скопировать и сохранить где-либо (например, в блокноте Windows) – он нам пригодится в дальнейшем.

  • в строку поиска чатов вводим “Manybot”;
  • выбираем из найденного перечня пользователей “@Manybot”;

  • знакомимся с основным функционалом этого помощника по созданию собственных роботов;
  • жмем “Запустить”;

  • далее из предложенного перечня выбираем русский язык;
  • кликаем по кнопке “Добавить нового бота” (как вариант, в строке сообщения пишем “/addbot”);

  • нажимаем “Я скопировал токен”;
  • непосредственно копируем токен, который выдал предыдущий бот “Botfather”, и вставляем его в строку для отправки новых сообщений;
  • дожидаемся появления информационного сообщения о том, что токен принят.

Дальше начинается “технический этап” — необходимо написать описание бота – то есть что он будет делать, что умеет и др. (если создатель робота не желает задавать описание, необходимо отправить Manybot сообщение “/skip”).

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

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

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

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

Для создания новой команды необходимо:

  • нажать “Пользовательские команды”;
  • далее – “Создать команду”.

Запросы можно задать примерно такого рода:

  1. /bestclothesforwomen;
  2. /bestclothesformen;
  3. /mostbeautifulclothes;
  4. /clothesforbigmen;
  5. /clothesforchildren и прочее.

Итак, задаем нашу первую команду. Пусть это будет “/bestclothesforwomen”.

  • “Добавить вопрос” – можно добавить один или несколько уточняющих вопросов, которые бот будет задавать пользователю (например, на этот запрос “/bestclothesforwomen” робот сможет задать уточняющие – какой размер одежды, цвет и прочее);
  • “Включить режим случайного сообщения” – создатель бота может, к примеру, прописать 20 ссылок, ведущих на сайты интернет-магазинов с лучшей одеждой для женщин, а бот будет случайным образом выбирать любую ссылку из этих 20 и показывать ее пользователю.

Если не требуется ни уточняющих вопросов, ни режима случайного сообщения, то ответ, который бот будет выдавать на запрос, просто нужно прописать в поле для нового сообщения. Например, можно написать “Перейдите на сайт такой-то такой-то” (см. картинку).

Следующий этап – настройка параметров главного меню. Пример такой настройки:

  1. клик “Пользовательские команды”;
  2. далее – “Настроить гл. меню”;
  3. затем – “Добавить пункт меню”;
  4. нажатие по нашей команде “/bestclothesforwomen” (или по другой, которую нужно добавить в меню, если их несколько);
  5. ввод с клавиатуры названия пункта меню, по нажатию на который пользователь будет получать ответ на свой запрос (очевидно, что в нашем примере назвать пункт следует “Лучшая одежда для женщин”).

Возвращаемся в главное меню бота и видим, что над пунктом “Отправить новое сообщение подписчикам” появился наш – “Лучшая одежда для женщин”.

Кликаем по нему и видим, что бот возвращает нужный нам ответ – “Перейдите на сайт: www.bestclothesforwomen.ru”.

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

  • “Помощь”;
  • “Инструкции”.

Как заработать на ботах

Создать робота-помощника – это еще только полдела. Рекомендуется и зарабатывать на этом! (чтобы не тратить свои силы на разработку и поддержку “детища” попусту).

Существует 2 основных способа извлечения прибыли:

  1. разработка роботов на заказ;
  2. либо же участие в различных конкурсах от Павла Дурова, поучаствовать в которых могут любые создатели ботов.

Примечание. Оба способа заработка, в основном, подходят только для программистов, реализующих функционал API Телеграмма для написания ботов “с нуля”. Цена многофункционального робота начинается от 15000 рублей. Заказчиками выступают, как правило, юридические лица (реже – физические).

Создавать роботов под заказ при помощи конструкторов малоприбыльно. А все потому, что функции бота ограничиваются разработчиком такого конструктора. Если писать код “с нуля”, бот сможет отвечать практически на любой вопрос и выдавать уникальный ответ под каждого отдельного взятого пользователя (и под его потребности).

Примерная цена за продажу бота, созданного при помощи конструктора – 500 рублей. Заказов такого рода мало.

Что касается конкурсов, то Павел Дуров частенько проводит их. Среди создателей ботов разыгрываются гранты, сумма каждого из которых – не менее 25000 долларов США.

Следить за новостями о появлении новых конкурсов можно в официальном паблике “Новости Telegram” в социальной сети ВКонтакте. А непосредственно поучаствовать в них можно, вступив в группу “Telegram Challenge”.

Делаем простого бота для публикации новостей в канал и автоматические ответы на вопросы за 6 шагов.

В закладки

Материал подготовлен при поддержке

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

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

Начнем с разработки бота, который сможет автоматически отправлять в Telegram-канал новости компании, опубликованные на сайте или в Facebook.

Шаг 1. Создаём бота в Telegram

Бот в Telegram создается при помощи другого бота под названием BotFather . Отправляем ему команду /newbot, выбираем имя, которое будет отображаться в списке контактов, и адрес. Например, «Бот для DTF» с адресом «dtf_news_bot».

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

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

Шаг 2. Создаём канал в Telegram

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

Для поиска бота можно использовать его адрес. Например, «dtf_news_bot».

Шаг 3. Создание условия

Следующий этап - научить бота отправлять новости с сайта в созданный канал. Для этого воспользуемся популярным сервисом для автоматизации IFTTT .

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

IFTTT расшифровывается как If This Then That

Переходим в раздел IFTTT "My Applets", нажимаем на кнопку "New Applet " и далее на ссылку "This". Находим в списке функций триггер Feed , New feed item и указываем URL-адрес нашей RSS-ленты. Например, у Wordpress-сайтов она обычно расположена по адресу example.com/feed/.

Вместо RSS-ленты можно отслеживать появление новых записей в Twitter или Facebook -аккаунте - для каждой функции в IFTTT предусмотрены отдельные модули.

Теперь переходим ко второму шагу - выбираем действие, которое будет выполняться при обнаружении новой записи в RSS. Нажимаем на "That" и ищем Maker Webhook , "Make a web request" - с помощью этого модуля можно отправлять запросы к любым сервисам. В нашем случае - к боту в Telegram.

В открывшейся форме в поле URL нужно указать ссылку https://api.telegram.org/botТОКЕН /sendMessage, подставив в неё токен, сгенерированный на первом шаге. Метод: POST, тип контента: application/json.

Body - поле для шаблона запроcа, который будет отправляться в Telegram. В нём указываем, в какой канал нужно отправить сообщение и что в нём должно быть написано:

{"chat_id":"@адрес_канала", "text":"{{EntryTitle}} {{FeedUrl}}"}

  • chat_id - адрес канала, в который необходимо отправить сообщение. Таким образом одного бота можно подключить сразу к нескольким каналам. В качестве адресата можно указать и конкретного пользователя. В таком случае вместо адреса канала необходимо указать его ID (можно получить при помощи бота).
  • text - содержание сообщения. Например, заголовок материала из RSS (EntryTitle), его содержание (EntryContent) и ссылка (FeedUrl). Список доступных опций можно посмотреть по кнопке Ingredient.

Если всё настроено верно, бот отправит сообщение из RSS-ленты в канал. У триггера в IFTTT есть задержка, поэтому сообщение, появившееся в RSS-ленте, отправится в Telegram не сразу, а спустя 30-60 минут.

В качестве условия для отправки сообщения можно выбрать любой другой сценарий, доступный на IFTTT. Например, Weather Underground умеет каждый день отправлять сообщение с прогнозом погоды на завтра. Триггер Stocks можно настроить на отправку стоимости акций при закрытии торгов.

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

Шаг 4. Подключаем сервер

На этом этапе понадобится веб-хостинг и сертификат SSL, который можно получить бесплатно с помощью сервиса Let"s Encrypt.

Удобнее всего создать отдельный поддомен для бота - например, bot.example.com - и разместить на нём один файл index.php. Внутри файла размещаем код простейшего бота c сайта Telegram.

В код бота нужно внести всего два изменения:

  • в строке define("BOT_TOKEN", "12345678:replace-me-with-real-token"); вместо 12345678:replace-me-with-real-token написать токен, полученный на первом шаге;
  • в строке define("WEBHOOK_URL", "https://my-site.example.com/secret-path-for-webhooks/"); вместо https://my-site.example.com/secret-path-for-webhooks/ указать URL-адрес файла с кодом для бота: https://bot.example.com/index.php.

Шаг 5. Связываем Telegram-бота и сервер

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

Для этого понадобится консоль. У разных хостинг-провайдеров она может находиться в разных разделах интерфейса управления сайтом. Кроме того, можно воспользоваться программой Terminal на macOS, введя через неё команду ssh имя_пользователя@адрес_домена .

После ввода пароля, печатаем для нашего поддомена простую команду:

php -f /var/www/bot.example.com/index.php

Nice to meet you - ответ бота на отправленное пользователем сообщением.

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

Добрый день, уважаемые читатели! С вами Алла Просюкова - финансовый эксперт журнала «ХитёрБобёр».

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

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

Если вы всё ещё не попробовали себя в этом увлекательном и полезном деле, то моя новая статья придётся как нельзя кстати!

Ознакомившись с ней, вы :

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

Интересно? Тогда поехали!

1. Что такое боты в Telegram и что они могут делать

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

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

Функционал роботов разнообразен.

Они умеют:

  1. Проводить опросы.
  2. Доставлять информацию об обновлениях с сайта.
  3. Показывать новости по заданной пользователем тематике.
  4. Находить и скачивать любую информацию.
  5. Совершать рассылку.
  6. Управлять умным домом.
  7. Развлекать.
  8. Заниматься автопродажами.
  9. Обучать и т.п.

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

Пример

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

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

Telegram bot обладает неоспоримыми достоинствами:

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

О том, читайте отдельную статью.

2. Как создать бота в Телеграм - пошаговая инструкция

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

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

Моя пошаговая инструкция как раз для неспециалистов.

Шаг 1. В окно поиска вводим название бота

Заходим в Телеграм через приложение или веб-версию. Попав в мессенджер, вбиваем в поисковую строку слово Manybot. Из нескольких предложенных вариантов выбираем именно тот, который искали. На экране раскроется чат, внизу появится кнопка «Начать». Жмём её.

Шаг 2. Выбираем язык и нажимаем пункт “Добавить нового бота”

Шаг 3. Переходим на @BotFather и вводим команду newbot

Шаг 4. Вводим название аккаунта и техническое имя

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

Допустим, мы создаём бота для подбора кулинарных рецептов из имеющихся у пользователя продуктов. Исходя из его предназначения, назовём новичка cook .

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

Шаг 5. Сохраняем API-токен и отправляем на @Manibot

BotFather выдаст API-токен в виде строчки с набором множества цифр и букв. Копируем её, после чего переходим обратно в @Manibot и отправляем скопированный токен в виде обычного сообщения.

Шаг 6. Вводим описание аккаунта

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

Пример

Вот какое описание я сделала для нашего кулинарного бота: «Подбор кулинарного рецепта по списку имеющихся у вас продуктов».

@Manibot позволяет пропустить шаг с описанием, отправив в сообщении команду /skip. Но я не рекомендую этого делать. Ведь описание - лицо бота, по которому его будут выбирать будущие подписчики.

Вот и всё! Ваш робот-помощник создан. Теперь его необходимо настроить. Отравляем сообщение «/commands», после чего откроется меню с вариантами настройки: «Создать команду» и «Настроить гл. меню».

Создать команду - прописать пользовательские команды, на которые робот будет реагировать. Например, для нашего cook создаем команду /rezept. Получив её, робот вышлет кулинарный рецепт под заданный продуктовый набор.

3. Обзор ТОП-3 конструкторов для создания ботов в Телеграмм

Ещё совсем недавно без программистов было невозможно не только сделать сайт или бота, но даже в стандартной установке/обновлении программ требовалась их помощь.

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

Это стало возможным c появлением онлайн-конструкторов. Я предлагаю вашему вниманию 3 сервиса для создания телеграмм-ботов.

Flow XO

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

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

В арсенале конструктора имеются шаблоны готовых модулей.

Chatfuel

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

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

  1. National Geographic.
  2. TechCrunch.
  3. UBER.
  4. Forbs и т.д.

Востребованность Chatfuel подтверждается общим числом пользователей (более 15 млн.) и количеством созданных ботов (более 500 тыс.). Роботы, созданные на этой платформе, легко интегрируются в различные сервисы и сети: YouTube, Твиттер, Инстаграм и т.п.

Recast AI

И, наконец, последний конструктор из моего мини-обзора - Recast. AI. Разработчики позиционируют своё детище, как самый простой для понимания и обучения строитель ботов. На его начальное освоение требуется в среднем около 8 минут. Сервис работает на специально разработанной технологии распознавания естественного языка.

Конструктор имеет 2 тарифа: платный и бесплатный. Функционал обоих практически одинаков, основная разница лишь в том, что платный тариф предназначен для корпоративных клиентов.

Для наглядности основные характеристики сведены в сравнительную таблицу:

4. Полезные боты для бизнеса

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

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

Mirabellabot

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

Он без труда:

  • создаст список всех дел;
  • запомнит и сохранит необходимые ссылки;
  • напомнит о незаконченных делах/невыполненных задачах;
  • сохранит важные заметки.

Pravorubot

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

Выход из этой ситуации есть - телеграмм-бот Pravorubot. Здесь все желающие в течение 15 мин. получат ответы на свои юридические вопросы. Робот поможет найти юристов нужной специализации вблизи указанного пользователем местоположения.

При этом @Pravorubot неутомимо трудится круглосуточно, без праздников и выходных!

EGRUL_bot

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

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

Для этих целей будет весьма кстати EGRUL_bot. С его помощью вы быстро и легко запросите выписку из ЕГРЮЛ, узнаете данные об учредителях, а это как раз один из пунктов той самой обязательной проверки. Достаточно только сообщить ИНН или ОГРН проверяемого. Документ придёт в PDF-формате.

5. Можно ли заработать на ботах

Не только можно, но и нужно! В Телеграмм есть несколько способов для этого.

Вот только некоторые из них:

  1. Создание ботов под заказ.
  2. Участие в конкурсе для создателей программ-роботов от Павла Дурова.

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

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

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

Павел Дуров периодически проводит конкурс среди создателей ботов на получение грантов. Призовой фонд - 1 млн $ . Сумма каждого гранта не менее 25 тыс. дол . Сведения о событии размещаются в паблике мессенеджерв в ВКонтакте.

Основные требования к вновь создаваемым ботам:

  • быстродействие;
  • полезность;
  • функционирование на базе Телеграмм;
  • работа в inline-режиме.

Выбирайте наиболее подходящий для вас способ и начинайте зарабатывать!

6. Заключение

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

Вопрос к читателям:

Сподвигла ли вас полученная информация на создание своего телеграмм-бота?

Желаем вам успехов и процветания! Будем признательны за комментарии. Появились вопросы по теме? Задавайте, обязательно ответим!

Пишем ему /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" (или любой другой метод, используемый ботом).

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

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

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

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

Определение

Что же такое чат-бот? Чат-бот или просто бот – это компьютерный алгоритм, предназначенный для автоматического ведения переписки-диалога с реальным пользователем.

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

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

Чат-боты распространены на сайтах всех типов.

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

Сфера применения

Для чего же может потребоваться бот в Телеграмме?

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

Они способны провести консультацию по товару и/или услуге, условиям работы организации и т. п.

Для какой же цели той или иной фирме может потребоваться такой бот:

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

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

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

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

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

Создание

Телеграмм позволяет создавать боты и даже имеет ряд встроенных алгоритмов для их разработки и активации.

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

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

Алгоритм создания

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

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

Но можно сделать это и с телефона.

1 После того, как процесс установки Телеграмма будет завершен, откройте приложение и в строке поиска, помеченной символом лупы, наберите Manybot ;

2 Нажмите кнопку Поиск в окне или кнопку Ввод на клавиатуре для выполнения поиска;

3 Как только появятся результаты поиска, нажмите кнопку Start , расположенную в нижней части окна программы справа;

4 Нажмите на кнопку Добавить нового бота ;

5 В ответ в окне сообщений появится служебное сообщение от Телеграмм , содержащее инструкцию для ваших дальнейших действий по созданию бота – необходимо следовать именно ей;

6 Согласно инструкции, перейдите в учетную запись @BotFather путем нажатия на синюю ссылку с названием аккаунта;

7 Теперь нажмите кнопку Send Message для того, чтобы начать переписку с данным «пользователем»;

8 Введите команду /start и в ответ на нее вы получите список команд, которые можно использовать при создании бота;

9 Отправьте команду /newboot ;

10 Дождитесь ответа ;

11 Отправьте придуманное вами оригинальное имя бота – именно оно будет отображаться при поиске;

12 Теперь дождитесь ответа и отправьте техническое имя бота – оно должно быть написано на английском языке и заканчиваться на «bot»;

13 На этом этапе желательно скопировать API-токен ;

14 Снова возвращаемся к @Manybot ;

15 Вставляйте туда скопированный на предыдущем этапе API-токен ;

16 Дождитесь ответа;

17 Теперь впечатайте цели вашего бота – то, для чего он нужен и как он будет работать;

18 Можно пропустить этот шаг – для этого введите /skip ;

19 Дождитесь ответа , уведомляющего о том, что создание бота завершено.

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

Проверка функциональности

Теперь необходимо проверить, нормально ли работает ваш бот.

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

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

Создание команд

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

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

Для этого проделайте следующее:

1 Наберите /commands в поле ввода;

2 Наберите имя создаваемой команды ;

3 Наберите тот текст, который бот будет выдавать в ответ на данную команду – это может быть одно или несколько сообщений, которые могут включать картинки, музыку, видео;

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

Редактура уже созданной команды также допустима, для этого проделайте следующее:

1 Введите /commands , /имя_команды ;

2 Нажмите на кнопку Показать команду и появится ответ, который приходит пользователю на такую команду;

3 Соответственно, кнопка Редактировать ответы команды позволит вам отредактировать ответ, который выдает команда пользователю.

А вот так ваш бот будет выглядеть на устройствах других пользователей.

Автопостинг

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

Благодаря этому они будут появляться в новостях у ваших подписчиков в Телеграмме.

Для настройки такой трансляции сделайте следующее:

1 Наберите в своем боте команду /autoposting ;

2 Теперь среди кнопок в нижней части окна выберите ту соцсеть, из которой хотите настроить автоматическую трансляцию и нажмите на нее;

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

Такой формат отлично подходит для распространения новостей среди большого количества подписчиков.

Однако он не подходит, например, для консультирования клиентов.

Отложенный пост

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

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

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

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

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

1 Зайдите в свой бот и наберите /newpost;

2 Создайте сам пост ;

<Рис. 19 Сохранение>

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

Добавление кнопок

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

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

Создать такую кнопку можно следующим образом:

1 Набираем команду /commands ;

;

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

Таким образом, для введения команды /hello вам больше не потребуется пропечатывать ее полностью.

Достаточно будет только нажать на кнопку Привет под окном диалога.

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