Как в Телеграмме создать бота и где его использовать?

Что такое чат-бот

Чат-бот — виртуальный помощник для общения с пользователями в мессенджерах, на сайтах и ​​в социальных сетях. Это программа, которая может решать типовые задачи: запоминать акции, принимать заявки, классифицировать лиды и отправлять данные в CRM. Человек может задать чат-боту вопрос, и он ответит на него, если ответ был запланирован заранее. С типовыми вопросами справляется хорошо, а вот с нестандартными могут возникнуть трудности.
Чат-бот отвечает на вопросы
Чат-бот отвечает на вопросы

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

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

Для чего нужны чат-боты

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

Задачи, которые решают чат-боты, можно разделить на две большие группы:

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

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

Чат-боты работают в разных областях:

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

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

Страхование: помощь в заполнении форм и заявлений, консультации по страховым программам.
Виртуальный помощник «Страховая Уралсиб»

Виртуальный помощник «Страховая Уралсиб»

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

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

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

Образование: Рассылают обучающие материалы, приглашают на вебинары и присылают свои записи, предлагают скидки и промокоды на покупку курсов.
Чат-бот с обучением
Чат-бот с обучением

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

Кадровые ресурсы: подбирать подходящие резюме, отправлять приветственные сообщения кандидатам, автоматизировать задачи внутри компании.
HR-бот для клиентов и подрядчиков
HR-бот для клиентов и подрядчиков

По словам Романа Милованова, директора платформы по разработке голосовых и текстовых роботов Ziax, чат-боты находятся на передовой линии поддержки и могут ответить примерно на 50% звонков. Однако виртуальные помощники не способны полностью заменить операторов. Работают только с типовыми запросами, где не требуется индивидуальный подход к клиенту. Его миссия – отстранить сотрудников компании от решения рутинных задач, сократить издержки и косвенные затраты.

Способы создания чат-ботов

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

Индивидуальная разработка Решение, подготовленное в сервис-билдере
Цена Зависит от функций, а также стоимости часа работы конкретного агентства или фриланса Есть бесплатный базовый доступ. Платные планы — $10-50 в месяц
Время создания От месяца до полугода От 1-2 дней до месяца
Возможность внешней интеграции Есть Есть
Функции Он ограничен только возможностями сайта: сайта, социальной сети или мессенджера. Вы можете использовать структурированные и неструктурированные диалоги, панель администратора, пользовательский интерфейс.

Может быть интегрирован с любым внешним сервисом

Ограничено возможностями дизайнера и сайта.

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

Возможна интеграция с онлайн-чатами на сайте, внешними сервисами

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

Возможна смена платформы — есть функция экспорта и импорта

Безопасность хранения данных Соответствует внутренним требованиям компании-клиента Соблюдать политику конфиденциальности сервиса

Чтобы понять, какой метод подходит именно вам, необходимо смоделировать решение.

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

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

Как устроены конструкторы чат-ботов

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

Создание цепочки сообщений

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

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

Поддержка платформ

Некоторые сайты работают только с определенной платформой. Например, сервис Bot-kit работает только с ботами WhatsApp, а Manybot работает с ботами Telegram. Существуют также кроссплатформенные сборщики. Например, сервис Botmother помогает создавать ботов для Telegram, Viber, WhatsApp, Facebook, ВКонтакте и Одноклассники. Вы пишете логику и скрипты один раз, и они одинаково работают сразу на всех сайтах. Конечно, если стоит такая задача, как общение сразу по нескольким мессенджерам.

Инструменты для создания сообщений

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

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

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

Запрос данных от пользователя

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

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

Шаблоны бота

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

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

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

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

Бизнес-опции

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

Обычно у строителей есть коммерческие варианты, такие как:

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

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

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

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

Возможность оплаты. Сервисы могут реализовывать эту функцию через сторонние платежные системы или принимать платежи напрямую от курьера с помощью специальных форм.

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

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

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

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

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

Особенности и возможности ботов Telegram

Как создать Telegram бота?

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

  • Вам необходимо установить приложение Telegram на свой телефон или компьютер. Вы можете скачать приложение здесь
  • Мы добавляем бота по имени BotFather в наш список контактов
  • Запускаем процедуру «общения» с ботом нажатием кнопки Start. Далее мы увидим список команд в точности как на скриншоте.
  • Чтобы создать нового бота, вам нужно запустить команду /newbot и следовать инструкциям. Обратите внимание, что имя пользователя бота всегда должно заканчиваться словом bot. Например, DjangoBot или Django_bot.

Телеграмм бот

  • Для нашего бота я выбрал имя PythonPlanetBot, так как его основная функция — парсить RSS-ленту сайта Python Planet и предоставлять пользователю информацию о последних постах 🙂

Робот планета питон

После создания бота обратите внимание на строчку с текстом:

Используйте этот токен для доступа к HTTP API:

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

  • Дайте описание бота
  • Установить аватар
  • Изменить токен

и т.д. Полное описание доступных команд вы можете увидеть на первом скриншоте.

Создаем бот с помощью конструктора Fleepbot

Fleepbot — это умный конструктор чат-ботов для бизнеса. Можно создавать ботов для отложенных постов и умных чат-ботов для разных целей и задач.

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

Для примера я создам простого прайс-бота (бот для продажи рекламы в Telegram-каналах) с двумя кнопками.

Создаем бот

Чтобы создать бота для Telegram-канала через Fleepbot, я работаю по следующему плану:

1. Нахожу в поиске и запускаю @FleepBot

Бот для Telegram-канала с помощью конструктора flep

2. Бот присылает краткую информацию и советы по работе.

Бот для Telegram канала, советы по работе в конструкторе

3. Нажимаю кнопку «Fleep.business». Теперь вам нужно зайти на @BotFather и создать на нем бота, затем подключить его к Fleep, отправив токен.

Бот для Telegram канала, инструкция по созданию

Я иду в @BotFather и создаю бота.

4. Запускаю @BotFather, он выдает список команд.

Создаем бота для Telegram канала в BotFather

5. Ввожу команду /newbot, бот просит дать ему имя. Я назову это Прайс».

Команда /newbot

6. Дается имя, выбираю логин (слово «бот» должно быть в конце). Я даю имя пользователя «price15_bot». Если бот ругается, то логин занят и он должен пробовать другой.

Токен бота в Telegram

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

7. Я использую команду /setuserpic для добавления аватара и отправки изображения. Отправляю команду, выбираю бота и отправляю фото на аватарку.

Бот для Telegram канала, установка аватара

8. Аватарка готова, добавляю описание. Есть две команды: /setdescription и /setabouttext. Команда /setabouttext позволяет установить описание бота в шапке. Команда /setdescription позволяет установить описание бота при запуске.

9. Введите /setabouttext и укажите описание бота в шапке. Например, «Ценовой бот с раздачей выгодных предложений».

Добавьте описание бота

10. Введите /setdescription и отправьте текст описания бота при запуске. Текст сделаю такой же, как в шапке бота «Цена бота с отправкой выгодных предложений».

Добавьте описание бота

11. Выполнив начальную настройку, скопируйте токен бота и отправьте его @Fleepbot.

Подключение бота к Flepbot

Все готово, теперь создаю кнопки на боте.

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

1. Вхожу в созданного бота и запускаю его.

Создание кнопок в боте

2. Запустил бота, сейчас настраиваю. Нажимаю на «Настройки».

Создание кнопок в боте шаг 2

3. Делаю простого бота с двумя кнопками. Нажимаю «Меню», затем «Главное меню».

Создание кнопок в боте шаг 3

И я нажимаю на плюсик.

Создание кнопок в боте шаг 4

4. Выбираю тип кнопки «Обычный».

Создание кнопок в боте шаг 5

5. Бот просит ввести название кнопки. Я называю это «Цена рекламы».

Создание кнопок в боте шаг 6

6. Введите ответ: текст, который получит пользователь при нажатии на кнопку бота. Введите, например, это: «Реклама на канале стоит 1000 рублей» и нажмите «Готово».

Создание кнопок в боте шаг 6

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

По инструкции выше создаю на боте вторую кнопку, назвав ее «Статистика».

Проверяем бот

Бот создан, пора его найти и протестировать.

1. С другого тг аккаунта ищу в поиске своего созданного бота.

Найдите бота в поиске

2. Бросаю.

Бот создан

3. Проверяю кнопки. Все работает, нажатие на бота дает нужную информацию.

Запускаем созданного бота

Для удаления водяного знака «Бот создан с помощью сервиса @FleepBot» необходимо использовать платную версию Fleep-deferred или оплатить подписку на бота.

Статистика и рассылка

Проверяю, как работает отправка писем через бота.

1. Захожу из аккаунта создателя в бота (в котором создавал бота) и нажимаю «Статистика», получаю данные о пользователях запустивших бота.

Статистика пользователей бота

2. Сейчас попробую отправить сообщение пользователям бота. В настройках выберите «Рассылка».

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

Отправка писем пользователям бота

Я выберу «Все пользователи» и введу следующий текст «Сегодня скидка на рекламу составляет 10%», затем я нажму «Готово» и «Да». Все отлично, отправка прошла успешно, бот отправил статистику.

Отправка писем пользователям бота

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

Сообщение из списка рассылки было доставлено пользователям Telegram-бота

Все отлично, бот для Telegram канала оказался рабочим и удобным.

Приступаем к кодированию

Как я упоминал ранее, мы напишем веб-приложение Django. Но стоит отметить, что это не обязательно. Вы также можете использовать обычный скрипт Python, хотя в этом случае вам нужно будет периодически опрашивать Telegram на наличие новых запросов пользователей бота (используя метод getUpdates) и увеличивать смещение, чтобы получать последние данные без повторения. Telegram имеет два взаимоисключающих метода получения команд/сообщений для вашего бота.

Настройка Webhook заключается в передаче боту специального URL-адреса, который будет получать POST-запрос каждый раз, когда кто-то начинает отправлять сообщения боту. Именно этот вариант мы будем использовать для взаимодействия между ботом и его пользователем. Чтобы установить URL-адрес, вы должны использовать метод setWebhook API. Отмечу, что URL-адрес должен начинаться с https, т.е у вас должно быть безопасное SSL-соединение с действующим сертификатом. Telegram позволяет использовать самоподписанный сертификат, хотя для этого также необходимо передать открытый ключ в формате PEM (ASCII base64) в методе setWebhook. Или вы можете получить действующий бесплатный SSL-сертификат от Let’s Encrypt.

Итак, вернемся к библиотеке python для работы с Telegram — telepot. На данный момент его последняя версия 6.7. Установите его в python virtualenv:

пип установить телепот

Самый простой способ взаимодействия с ботом Telegram на Python выглядит следующим образом:

import telepot token = ‘123456’ TelegramBot = telepot.Bot(token) print TelegramBot.getMe()

Присваиваем переменной token значение токена, полученное при создании бота через BotFather. В итоге после выполнения этих команд получаем:

{u’username’: u’PythonPlanetBot’, u’first_name’: u’Python Planet Bot’, u’id’: 199266571}

Поздравляем! Вызываем простейший запрос API getMe, который возвращает информацию о боте: имя пользователя, id, имя.

Добавим нашего бота в список контактов и отправим первую стандартную команду /start

Телеграмм бот

Запустим код:

TelegramBot.getUpdates() {u’message’: {u’date’: 1459927254, u’text’: u’/home’, u’from’: {u’username’: u’adilkhash’, u’name ‘: u’Adil’, u’id’: 31337}, u’message_id’: 1, u’chat’: {u’username’: u’adilkhash’, u’first_name’: u’Adil’, u’ type’: u’private’, u’id’: 7350}}, u’update_id’: 649179764}

Процесс связи с Telegram-ботом осуществляется по протоколу HTTPS; JSON используется для передачи данных. Метод getUpdates возвращает список/массив объектов типа Update. Inside Update — это объект Message. Для стандартного взаимодействия с ботом нас, собственно, интересует объект Сообщение, из которого мы считываем атрибут text, в котором хранится переданный боту текст, и объект чата, в котором содержится информация о пользователе, инициировавшем общение с ним наш Telegram-бот. Существует также параметр update_id, который служит параметром смещения при вызове метода getUpdates. То есть update_id+1 вернет все сообщения, полученные после последнего update_id, а все предыдущие сообщения будут удалены.

TelegramBot.getUpdates(649179764+1) {u’message’: {u’date’: 1459928527, u’text’: u’привет братан’, u’from’: {u’имя пользователя’: u’adilkhash’, u’first_name’: u’Adil’, u’id’: 31337}, u’message_id’: 13, u’chat’: {u’username’: u’adilkhash’, u’first_name’: u’ Adil’ , u’type’: u’private’, u’id’: 7350}}, u’update_id’: 649179765}

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

Простая функция разбора RSS-канала Planet Python выглядит следующим образом:

# -*- encoding: utf8 -*- from xml.etree import cElementTree import Requests def parse_planetpy_rss(): «»»Разбор первых 10 элементов http://planetpython.org/rss20.xml «»» response = Requests get(‘http://planetpython.org/rss20.xml’) parsed_xml = cElementTree.fromstring(response.content) items = для узла в parsed_xml.iter(): if node.tag == ‘item’ : item = {} для item_node в списке (узле): if item_node.tag == ‘title’: item’title’ = item_node.text, if item_node.tag == ‘link’: item’link’ = item_node text items.append(item) возвращает элементы:10

Здесь я использую библиотеку запросов Python для работы с HTTP самым простым способом без обработки ошибок. «Вид» Джанго выглядит так:

ТОКЕН = » TelegramBot = telepot.Bot(TOKEN) def _display_help(): return render_to_string(‘help.md’) def _display_planetpy_feed(): return render_to_string(‘feed.md’, {‘items’: parse_planetpy_rss()}) class CommandReceiveView(View): def post(self, request, bot_token): if bot_token != TOKEN: return HttpResponseForbidden(‘Invalid token’) commands = { ‘/start’: _display_help, ‘help’: _display_help, ‘feed’: _display_planetpy_feed,} try: payload = json.loads(request.body.decode(‘utf-8’)) за исключением ValueError: return HttpResponseBadRequest(‘Неверное тело запроса’) else: chat_id = payload[‘message’][‘chat’][‘ id’] cmd = payload[‘message’].get(‘text’) # command func = commands.get(cmd.split()[0].lower()) if func: TelegramBot.sendMessage(chat_id,func(),parse_mode=’Markdown’) else: TelegramBot.sendMessage(chat_id, ‘Я вас не понимаю, сэр!’) return JsonResponse({}, status=200) @method_decorator(csrf_exempt) def dispatch(self, request , *args, **kwargs): возвращает super(CommandReceiveView, self).dispatch(request, *args, **kwargs)

CommandReceiveView ожидает POST-запроса для себя, анализирует его и отвечает на основе заданной команды. Полную реализацию Django можно найти по этой ссылке. Стоит отметить использование в коде еще одного вызова API: sendMessage. Этот метод отправляет сообщение данному пользователю, используя chat_id и текст самого сообщения. Chat_id — уникальный идентификатор чата между пользователем и ботом (его идентификатор находится в ответе на запрос getUpdates). У ботов Telegram есть ограничение, они не могут отправлять сообщения пользователям, которые ранее не начинали с ними общение. Судя по всему, это сделано для предотвращения массового создания спам-ботов.

Я предполагаю, что вы уже клонировали мой репозиторий, настроили среду и установили все необходимые зависимости: Django, запросы, телепот. Если вы не знаете, как это сделать, я очень скоро напишу серию статей о разработке веб-приложений на Python, включая обсуждение экосистемы: сборка, настройка, развертывание. Если вам интересно, пишите в комментариях к этой статье. Буду рад получить обратную связь 🙂

Итак, веб-приложение Django запущено. Как начать тестировать бота? А все очень просто — нужно смоделировать действия сервиса Telegram. Для этого нам нужен HTTP-клиент и тело запроса. В качестве HTTP-клиента я часто использую подключаемый модуль Chrome под названием Postman, и мы будем брать тело запроса непосредственно из данных, полученных через вызов API getUpdates.

После запуска исполняющего сервера URL-адрес, на который следует отправить запрос, выглядит так:

http://127.0.0.1:8000/планета/b… BOT_TOKEN/

где BOT_TOKEN — токен нашего бота. Смотрите скриншот:

Почтальон REST-клиент

телеграмм-бот-почтальон

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

Почтальон и телеграмма
Почтальон и телеграмма

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

Следующим шагом является развертывание нашего приложения Django на удаленном хосте, а затем вызов метода setWebhook для передачи URL-адреса, на который будет отправляться POST-запрос из службы Telegram каждый раз, когда бот получает команды от пользователей.

 

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

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

Например, воспользуемся бесплатным сервисом Manybot. С его помощью вы сможете автоматически постить в Telegram с других платформ (например, с YouTube), создавать многоуровневые меню и свои команды.
После ввода токена бот создан и настроен, можно приступать к работе. Для этого нужно перейти по ссылке на своего бота — она начинается с http://telegram.me/имя_бота.

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


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

Сервисы для создания ботов в Телеграм

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

Manybot — полностью бесплатный сервис, кабинет с настройками находится прямо в Telegram. Хороший вариант для небольших проектов.


Домашняя страница Manybot. Страница конфигурации выглядит так, как показано на изображении выше.

Загрузка. Конструктор диалоговых чат-ботов. Есть очень маленькая бесплатная версия (не подходит для компаний) и платная — 490 руб. Бот будет полезен в розничном или сервисном бизнесе.


Пример чат-бота Bottap. Изображение с официального сайта.

Чатформа. «Серьезный» конструктор с большим функционалом и гибкими настройками. Есть формы, списки, диалоги, интернет-магазин и опросы — все, что нужно для бизнеса. Тарифы начинаются от 1000 рублей в месяц, первые 15 дней бесплатно.

Оцените статью
Установка ОС