Содержание

Чат-боты. В чем их преимущества и сколько стоит разработка

Возможности чат-ботов для бизнеса

Дополнительный канал продаж. По словам Антона Библи, разработчика Railwaybot, люди проводят в мессенджерах около 80% времени использования смартфона. Потому Антон советует ecommerce-бизнесам смотреть в сторону чат-ботов, как дополнительного канала продаж.

С точки зрения продаж, чат-бот похож на приложение. В том же Telegram можно нативно из бота вызывать оплату с Apple Pay. Самое главное тут — аудитория, которая определяет выбор мессенджера. К примеру по географии — в одних регионах России более популярен WhatsApp, Viber, в других — Telegram. 

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

MVP мобильного приложения. Чат-бот — хороший способ протестировать, нужно ли бизнесу делать мобильное приложение. Одновременно можно протестировать и маркетинг, и разработку.

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

Ограничения в чат-ботах тоже есть. К примеру, через чат-ботов тяжело собирать информацию о пользователях. Аналитические сервисы есть (например, Chatbase, Dashbot и Metabase), но данных все равно не хватает. Поэтому заменить полноценное приложение чат-бот не сможет.

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

 

В проекте «Іван Маск» создатели пошли еще дальше —  запоминают все нестандартные сообщения от пользователей типа «Благодарю» и открытых вопросов. Затем анализируют их и обучают на их базе нейронную сеть, которая подбирает подходящие по смыслу ответы. За счет этого, диалог получается более естественным, а бот старается привести пользователя к сделке.

Зачем чат-боты в мессенджерах для бизнеса. Telegram-боты для доставки

WhatsApp, Viber, Telegram, WeChat, Line, Facebook Messenger и другие. Эти мессенджеры удобны и они стали привычным средством для коммуникаций. Каждый день они все больше и больше заполоняют нашу повседневную жизнь. Мы общаемся с друзьями и родственниками, коллегами в чатах. И это стало привычным делом.

Благодаря цифровизации жизни все наши дела, мероприятия, развлечения находятся в любимом нами смартфоне и мессенджерах. А почему?

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

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

Чат-боты — кто они и что умеют?

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

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

Чат-бот это виртуальный менеджер и помощник бизнесу.

Современные чат-боты умеют почти все:

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

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

Зачем нужны чат-боты бизнесу?

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

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

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

Мессенджеры и их чат-боты это «невидимые» помощники бизнесу, они очень удобны, потому что:

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

Использование чат-бота Telegram для службы доставки

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

Уведомляет курьеров
о новых заказах на доставку

Предоставляет всю необходимую информацию о заказе для курьера

Упрощает взаимодействие
операторов и курьеров

В модуле Delans на базе 1С для курьерской доставки реализована интеграция с мессенджером Telegram. Теперь можно создать собственный Telegram-бот и подключить его к своему аккаунту. Бот из Delans позволяет отправлять автоматические уведомления курьерам в мессенджер Telegram о новых заказах на доставку, а они тем самым могут принимать их и отмечать статусы выполнения.

Как создать своего бота? В Telegram есть самый главный бот для создания — @BotFather, который выдает инструкцию как создать своего бота. Создав нового бота и получив ключ доступа к нему, необходимо будет присоединить его к системе, в частности, Delans. Подробная инструкция по подключению предоставляется вместе с программой.

Как это работает?

  1. Оператор формирует заявки клиента в 1С и после автоматически отправляет новые заказы в Telegram-чат курьеров.
  2. Курьеры видят уведомление о новом заказе и кто свободный и ближе всего к адресу доставки, тот принимает его. И ему приходит вся информация по заказу на доставку.
  3. Клиент получает уведомление после оформления своего заказа о статусах его выполнения — Заказ принят, Передан курьеру, Заказ отправлен и т.п. Шаблоны СМС и статусов настраиваются.
  4. Курьер доставляет заказ клиенту и Telegram-боту отмечает, что заказ доставлен.
  5. Оператор видит в системе, что заказ доставлен, и закрывает его.

Рис. 1. Процесс уведомлений о доставке между 1С и Telegram

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

Процесс 1

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

Решение: настройка автоматического уведомления клиенту при проведении заказов со статусом «Отгружен» с расчетом времени доставки.

Процесс 2

Проблема: отправка массовых сообщений в Telegram большому количеству клиентов. Например, о текущих акциях на сайте.

Решение: бесплатные сообщения клиентам в Telegram в отличие от СМС-рассылок. Реализация такой функции позволяет отправлять одинаковые сообщения списку контактов по определенным параметрам отбора.

Процесс 3

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

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

Например, можно создать автоматическое уведомление клиенту при проведении документа «Заказ покупателя» в статусе «Выполнено» и попросить оценить качество обслуживания. А далее провести анализ удовлетворенности клиентов в разрезе менеджеров и курьеров в собранном отчете.

Процесс 4

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

Решение: настройка автоматического уведомления менеджеру о сумме оплаты от покупателя при загрузке платежей из клиент-банка. А также информация о текущей задолженности и кредитном лимите.

Итог реализации автоматических уведомлений

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

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

Как видите, сферы их применения практически не ограничены.

Автоматизируйте сервис доставки!

Успейте поймать волну новых возможностей
и получить своих клиентов, пока конкуренты не опередили Вас!

Заказать консультацию

Публикации по теме статьи:

ВТБ запустил чат-бот в Telegram — — О Группе ВТБ

ВТБ представил клиентам новый чат-бот на платформе мессенджера Telegram. Виртуальный помощник может мгновенно ответить на более чем 1300 общебанковских вопросов и рассказать пользователям о продуктах и услугах банка.

Робота-ассистента можно найти по имени @vtb_main_bot в поисковой строке мессенджера или в официальном телеграм-канале банка t.me/opershtabVTB . Чтобы получить интересующую информацию, клиентам нужно задать вопрос или просто отправить ключевое слово — если потребуется, бот сам предложит варианты для уточнения запроса.

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

«Уже сейчас роботы обрабатывают половину обращений наших клиентов в мобильном приложении ВТБ Онлайн, а в 2020 году число пользователей чат-бота удвоилось. Мы наблюдаем рост нашей аудитории и во внешних цифровых каналах, поэтому активно наращиваем свое присутствие в мессенджерах для максимального удобства клиентов, которых сегодня свыше 10 млн человек в ВТБ Онлайн. Внедрение виртуальных помощников позволяет существенно разгрузить специалистов контактного центра, при этом клиенты всегда легко и быстро получают всю нужную информацию — это особенно важно, когда нет возможности позвонить в службу поддержки. Наша стратегическая задача — создание сервисов со 100% доступностью финансовых услуг онлайн», — отметил старший вице-президент ВТБ, руководитель департамента цифрового бизнеса Никита Чугунов.

Чат-бот в мобильном приложении ВТБ Онлайн работает с мая 2019 года. Также пользователям ВТБ Онлайн доступны консультации ботов в интернет-банке и популярных мессенджерах. Пообщаться с виртуальным помощником ВТБ в WhatsApp можно здесь: https://www.vtb.ru/hi/, в Viber — здесь: http://bit.ly/VTB_viber.

Также в мессенджере Телеграм функционирует официальный чат-бот телеграм-канала ВТБ Мои Инвестиции: https://t.me/VTBMIbot.

Инструкция для пользователей Telegram-бота – «ОКТАН»

Чтобы пользоваться полным функционалом Telegram-бота компании «Октан-Брокер», необходимо пройти авторизацию. Для этого нужно ознакомиться с соглашением об использовании Бота и сообщить нам телефонный номер, на который заведён Ваш аккаунт в Telegram, в базе авторизуемых пользователей бота.

В поисковой строке Telegram по запросу «octan» найдите и начните диалог  с официальным чат-ботом «Октан-Брокер» ( Username: @octan_bot), после чего перед Вами откроется новое диалоговое окно:

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

Далее Авторизоваться по номеру телефона:

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

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

В противном случае бот выдаст сообщение с ошибкой авторизации:

Данная ошибка может быть вызвана только двумя причинами:

  1. Вы являетесь клиентом АО «Октан-Брокер», но не сообщили нам о своем намерении использовать @octan_bot.  Обработка заявки происходит в течение нескольких часов с момента подачи.
  2. Вы не являетесь клиентом АО «Октан-Брокер».

Для неавторизованных пользователей функционал чат-бота ограничен.

В случае успешной авторизации Вам будут доступны следующие пункты меню:

 Содержит информацию о текущих ценах выбранных инструментов. Также в этом меню можно редактировать список рассылки и период рассылки.

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

Список открытых позиций (в разрезе по счетам).

 

Краткая информация:

 

Подробнее о пунктах меню

При выборе пункта меню Цены по умолчанию приходит следующий стандартный набор инструментов: курс валютных пар Евро-Рубль и Доллар-Рубль, индексы ММВБ и РТС.
Для редактирования списка рассылаемых инструментов необходимо выбрать пункт меню Изменить список.

При первоначальной настройке списка рассылаемых котировок окно будет иметь следующий вид:

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

Обратите внимание:

При редактировании списка рассылки инструментов стандартный набор активов более не будет рассылаться.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

Отправным временем расчета интервалов рассылки считается открытие торгов на Московской Бирже – 13:00 по Омскому времени.   Интервальная рассылка не приходит пользователю во время вечерней сессии на Срочном рынке, однако получить актуальные котировки можно, кликнув пункт Цены в основном разделе Меню.

Для отмены периода рассылки достаточно нажать на интервалы, помеченные к выключению ВЫКЛ.

 

Пункт меню Портфель позволяет увидеть оценку стоимости портфеля по счетам,  перечисленным в заявлении (в разрезе по рынкам):

Периодичность и отмена рассылки оценки  портфеля настраивается аналогично меню Цены через команду Период рассылки:

 

 

Пункт меню Позиции отражает активные (открытые) позиции по счетам Клиента в разрезе рынков:

 

Обратите внимание

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

Курс Разработка интерактивного чат бота на платформе Telegram в Екатеринбурге

Раздел 1. Принципы работы ботов и рабочее окружение.

— Как работают Telegram боты?

— Способы взаимодействия бота и сервера

— Знакомство с рабочим окружением

— Первоначальная настройка и подготовка к работе

Раздел 2. Первые шаги

— Первый PHP скрипт, проверка работоспособности

— Регистрация бота

— Привязка бота к серверу обработчику

— Создание обработчика стартовой команды

 Раздел 3. Отладка и логирование

— Реализация отладочных сообщений и ведение логов

— Выделение повторяемого кода

— Обработка возникающих ошибок

— Сбор статистики запросов

Раздел 4. Обработка команд и сообщений

— Обработка получаемых команд

— Обработка получаемых текстовых сообщений

Раздел 5. Реализация сценариев использования API

— Отправка текстовых сообщений

— Отправка изображений

— Отправка стикеров

— Отправка аудио файла

— Отправка местоположения на карте

— Отправка повторяющей клавиатуры

— Отправка клавиатуры с обратным действием

— Редактирование отправленных сообщений

— Отправка сообщений по инициативе бота

Раздел 6. Завершение

— Структурирование программного кода

— Настройка и оформление бота


Интеграция с Telegram

Интеграция с Telegram позволяет обмениваться сообщениями с клиентами в АРМ Диалоги c помощью чат-бота Telegram.

Важно! Данная интеграция доступна при наличие активного действующего договора «1С:ИТС Отраслевой».

Создание нового бота Telegram

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

Далее выполнить последовательно шаги:

  • выбрать команду — /newbot;
  • указать имя бота, которое будет отображаться в контакт листе, а также в открытых чатах Telegram;
  • указать уникальное имя бота. На его основании будет сформирована ссылка на бота.
    Внимание!
    Уникальное имя должно содержать в конце суффикс bot, например, crm_bot.

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

Токен доступа

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

Важно! Интеграция работает только для чат ботов Telegram.

Для подключения чат-бота Telegram необходимо открыть окно Приложения для 1С:CRM и выбрать приложение «Telegram».

Подключение приложения для интеграции с Telegram

В форме настройки интеграции нужно выполнить команду Подключить и заполнить поля в окне «Настроек Telegram».

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

В форме настройки подключения Telegram необходимо указать токен доступа полученный при регистрации нового чат-бота Telegram;

Настройки подключения

Затем выполнить команды Проверить подключение и Готово.

В форме настройки учетной записи в поле «Наименование» необходимо прописать название чат-бота, которое будет выводиться в АРМ Диалоги и выполнить команду Готово.

Учетная запись

Настройка завершена, можно переходить в АРМ Диалоги для работы с сообщениями.

Вернуться к списку статей

Чат-бот от KORUS CRM – интеграция и управление данными через Telegram

Функциональные возможности

Управление доступом

Чат-бот работает во всех клиентах Telegram для разных операционных систем (iOS, Android и пр.), а также в Telegram Desktop. Авторизация каждого сотрудника происходит по номеру мобильного телефона, заведенного в CRM-системе, что полностью исключает возможность подключения пользователей, не имеющих прав доступа к системе. Кроме того, после авторизации все операции по поиску, просмотру и созданию записей и отчетов выполняются в соответствии с установленными индивидуальными правами доступа, настроенными в CRM.

Поиск информации

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

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

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

Создание записей

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

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

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

Создание уведомлений

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

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

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

Отображение отчетов

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

Изображение формируется за пару секунд в момент отправки команды из Telegram. При формировании снимка отчета также учитываются права текущего пользователя в CRM-системе.

Создание погодного чат-бота в Telegram | от Harsh Patel

Фото Fitore F на Unsplash

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

В этой статье объясняется, как именно создать погодного чат-бота для Telegram, используя ClimaCell Weather API и язык Python.Почему КлимаСелл? Их API предоставляет разнообразную полезную и подробную информацию, которая подходит для интеграции с ботами. В отличие от большинства API, он возвращает только ту информацию, которую вы запрашивали, что ускоряет и упрощает работу.

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

Когда вы закончите, вы получите токен вида 197123731: Adf81-jaUfajaS-2Kasid12xr_basdfBSbw. Обратите внимание, что ваш будет похож, но будет другим. Придерживайтесь этого числа, оно понадобится нам в следующей части.

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

 # print (clothing (consumerForecasts (fetchForecast ("LAT", "LON" , "ЖЕТОН")))) # <- Удалить этот! 

Это должно быть все. Итак, давайте посмотрим, как работает Telegram API!

Установите привязки python для API телеграмм-ботов, выполнив следующую команду:

 $ pip install python-telegram-bot --upgrade --user 

Telegram Bot API имеет два режима: длинный опрос или веб-перехватчики.При длительном опросе бот просит Telegram отправить последний код, тогда как в веб-перехватчиках бот регистрирует URL-адрес, по которому Telegram будет звонить при каждом обновлении.

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

Чтобы настроить бота, добавьте следующие коды в конец файла weather.py:

 из telegram.ext import Updater, MessageHandler, filtersupdater = Updater ('TELEGRAM TOKEN HERE', use_context = True) 

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

Итак, как выглядит обратный вызов? Как и обычная функция Python! Добавьте следующие строки в конец вашего файла.

 def weather (update, context): update.message.reply_text (clothing (consumerForecasts (fetchForecast ("LAT", "LON", "CLIMACELL TOKEN"))))) updater.dispatcher.add_handler (MessageHandler (filters.Filters) .all, погода)) 

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

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

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

 updater.start_polling () updater.idle () 

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

 $ python weather.py 

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

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

Чтобы упростить сопровождение, мы собираемся извлечь эти волшебные строки в константы. Добавьте эти строки в начало вашего файла weather.py:

 CLIMACELL_API_KEY = "ВАШ КЛЮЧ API CLIMACELL" # Получено со страницы разработчика на сайте climacellTELEGRAM_API_KEY = "ВАШ КЛЮЧ API ТЕЛЕГРАММЫ BOT" # Получено от botfatherLAT = "YOUR LAT" # получено от latlong. netLON = "YOUR LON" 

Теперь замените их везде, где они использовались, например:

 updater = Updater (TELEGRAM_API_KEY, use_context = True) #...clothing (consumerForecasts (fetchForecast (LAT, LON, CLIMACELL_API_KEY))) 

Этот простой шаг упрощает поддержку сценария в долгосрочной перспективе, поэтому не пропускайте его!

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

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

 def pretty_dress_code (dress_code): ans = "Для верхней части вы должны носить" ans + = dress_code ["top"] ans + = "\ n", если dress_code ["солнцезащитный крем"]: ans + = "Не забудьте взять солнцезащитный крем! \ n" if dress_code ["зонт"]: ans + = "Не забудьте взять зонтик! \ n" return ans 

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

 def weather (update, context): update.message.reply_text (pretty_dress_code (clothing (consumerForecasts (fetchForecast (LAT, LON, CLIMACELL_API_KEY)) )))) 

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

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

 def weather_location (update, context): lat = update.message.location.latitudelon = update.message.location.longitudeupdate.message.reply_text (pretty_dress_code (clothing (consumerForecasts (fetchForecast (lat, lon, CLIMACELL_API_KEY))))) 

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

 Updater.dispatcher.add_handler (MessageHandler (~ filters.Filters.location, weather)) # Обновите эту строкуupdater.dispatcher.add_handler (MessageHandler (filters.Filters.location, weather_location)) # Добавьте эту строку 

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

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

В этом посте мы подключили API погоды ClimaCell к боту Telegram, добавили красивую печать и поддержку настраиваемого местоположения.

Выведите своего чат-бота Telegram на новый уровень | Беппе Катанезе | Март, 2021

Telegram Bot может работать с механизмом Pull или Push (см. Далее Webhooks). В механизме извлечения бот (ваш код) регулярно проверяет наличие новых доступных сообщений на сервере.

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

  def  main (): 
updater = Updater ('myTelegramToken')

dp = updater.dispatcher

# определить обработчик команд
dp.add_handler (CommandHandler ( " help " , help_command99_handler) # определить обработчик сообщений
dp.add_handler (MessageHandler (Filters.text, main_handler)) updater. start_polling ()

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

 updater.start_webhook (listen =  "0.0.0.0" , 
port = 3978,
url_path = 'myTelegramToken')
updater.bot.setWebhook ('https://example.com/svc/myTelegramToken')

Примечание : webhook прекрасно работает с бессерверной архитектурой или с узлами «по запросу». Я развернул веб-перехватчики Telegram на Heroku Free Tier , который переходит в спящий режим после 30 минут бездействия, но при нажатии нового сообщения запускается Heroky Dyno, и сообщение потребляется в течение нескольких секунд.

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

Как зарегистрировать веб-перехватчик

Это можно сделать, вызвав URL-адрес setWebhook : используйте свой личный токен и передайте URL-адрес (должен быть HTTPS) веб-перехватчика.

 https://api.telegram.org/bot{myTelegramToken}/setWebhook?url=https://example.com / svc 

Переключение между режимами Pull и Push

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

 # читать переменную MODE env, вернуться к 'опросу', если не определено 
mode = os.environ.get ( "MODE" , "polling") if DefaultConfig.MODE == 'webhook' :
# включить веб-перехватчик
updater.start_webhook (listen = "0.0.0.0" ,
port = 3978,
url_path = 'myTelegramToken')
updater.bot.setWebhook ('https: //example.com/svc/myTelegramToken ') else :
# включить опрос
updater.start_polling ()

Ответить на входящее сообщение довольно просто.

 update.message.reply_text («Привет!») 

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

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

 {'update_id': 527095032, 
'message': {
'message_id': 412,
'date': 16159

,
'chat': {
'id': 931365322,
'type': 'private',
'username': 'gcatanese',
....

При парсинге полезной нагрузки Python не забывайте, что разные сообщения имеют немного разные JSON.

  def  get_chat_id (update, context): 
chat_id = -1

при обновлении .сообщение не равно Нет :
# текстовое сообщение
chat_id = update.message.chat.id
elif update. callback_query is not None :
# сообщение обратного вызова
chat_id = update.callback_query.message.chat.id
elif update.poll is not None :
# ответ в опросе
chat_id = context.bot_data [update.poll.id]

return chat_id

Проведите беседу, предоставив пользователю предварительно определенные параметры для Выбери из.Это может быть достигнуто с помощью InlineKeyboardMarkup , клавиатуры, которая отображается вдоль сообщения (как вопрос).

Изображение автора

Вот фрагмент кода Python для создания параметров:

 options = [] 
options.append (InlineKeyboardButton (text = 'Text', callback_data = '1'))
options.append (InlineKeyboardButton (text = 'Файл', callback_data = '2'))
options.append (InlineKeyboardButton (text = 'GoogleDoc', callback_data = '3'))
options.append (InlineKeyboardButton (text = 'Галерея', callback_data = '4') ) reply_markup = InlineKeyboardMarkup ([параметры]) контекст. bot.send_message (chat_id = get_chat_id (update, context), text = 'Что бы вы хотели получить?', reply_markup = reply_markup)

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

 # ввод из текстового сообщения 
text = update.message.text
# выбор из обратного вызова
choice = update.callback_query.data

Примечание : после выбора опции Опции исчезают из чата.

Примечание 2 : определите callback_data , используя постоянное значение, которое будет использоваться для решения, что делать. В отличие от текста на кнопке это значение не должно изменяться, поскольку оно не отображается для пользователя.

 choice = update.callback_query.data  if  choice ==  '1' : 
# Вариант 1: текст
update.callback_query.message. edit_text ('Вы выбрали текст')

Отображение индикатора ввода общая особенность чат-ботов: пользователям сообщают, что сообщение скоро придет, даже если есть небольшая задержка.

 context.bot.send_chat_action (chat_id = get_chat_id (update, context), action = telegram.ChatAction.TYPING, timeout = 1) 
time.sleep (1)

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

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

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

 https: // t.me / username_bot? start = signup 

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

  def  start_command_handler (update, context): 
param_value = context.args [0]
update.message.reply_text ( ' Value is' + param_value)

Чат-бот может отправлять файлы (например, PDF, Office) по-разному.

Используйте send_document с полным URL-адресом файла:

 url = 'https: //github.com/gc/TelegramBotDemo/raw/main/test.pdf' 
context.bot.send_document (chat_id = get_chat_id ( update, context), document = url)

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

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

 # получить с Google Диска 
url = 'https: // drive.google.com/file/d/0BZ3dWQ2ZXVOdE1V/view '
r = requests.get (url, allow_redirects = True)
# сохранить локальную копию
open (' file.ppt ',' wb ') . write (r. content) # отправить файл пользователю
context.bot.send_document (chat_id = get_chat_id (update, context), document = open ( 'file.ppt' , 'rb' ), filename = "Presentation.pptx")

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

Отличная функция - отправка группы медиафайлов, таких как фотографии, видео и аудио.

Изображение автора
 list = [] # определить список файлов 
list.append (InputMediaPhoto (media = 'https: //../mintie.jpg', caption = 'Mint'))
list.append (InputMediaPhoto ( media = 'https: //../pinkie.png', caption = 'Pink'))
list.append (InputMediaPhoto (media = 'https: //../orangie.png', caption = 'Orange') )

context.bot.send_media_group (chat_id = get_chat_id (update, context), media = list)

Примечание : бот может отправлять до 10 медиафайлов одновременно.

Примечание 2 : каждое сообщение учитывается в пределах скорости Telegram (30 сообщений в секунду), поэтому вы можете отправить до 3 сообщений с 10 носителями каждое (всего 30), но в этом случае вы не можете добавить что-либо еще в та же транзакция (даже не простое текстовое сообщение).

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

Посетите репозиторий Github, где вы можете взять фрагменты кода, показанные выше.

Находите меня в Твиттере для вопросов и предложений.

Приятного общения!

Как создать своего собственного чат-бота в Telegram

В январе 2021 года Telegram объявил о достижении 500 миллионов активных пользователей в месяц. К 2022 году он рассчитывает охватить миллиард пользователей.

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

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

Но как привлечь и поддержать своих клиентов в Telegram?

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

Для чего ваш бизнес может использовать чат-бота Telegram?

Маркетинг

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

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

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

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

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

Служба поддержки клиентов

Вот где ваш бот действительно сияет.

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

Около 80% поступающих запросов повторяются. Они не требуют личного внимания.

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

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

К счастью, до этого не нужно доходить.

Ваш чат-бот Telegram может обработать все эти повторяющиеся запросы без малейшей задержки.

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

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

Продажи

Будь то магазин электронной коммерции, страховое агентство или что-то среднее, чат-бот Telegram может помочь вам увеличить продажи и собирать платежи!

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

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

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

Как вы думаете, почему Amazon феноменально успешен? Их цель - сократить усилия клиентов. Это то, что нравится клиентам. Покупки в 1 клик делают их жизнь намного проще.

Применяйте ту же философию к своему бизнесу.

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

«Чем проще вы сделаете людям что-то делать, тем больше они будут это делать»

Совместное использование контента

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

Вы когда-нибудь слышали о философии Create Once Publish Everywhere?

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

Чат-боты Telegram могут помочь вам расширить охват вашего контента.

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

The Wall Street Journal использует эту стратегию, чтобы продвигать свои статьи к аудитории через чат-ботов Facebook Messenger.

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

Вовлеченность сотрудников

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

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

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

И хотя у них есть возможность отправить электронное письмо, на него не могут ответить, как они того пожелают.

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

Наплыв вопросов слишком велик, чтобы отдел кадров мог обрабатывать их вручную. Здесь на помощь приходит чат-бот Telegram HR.

Отслеживание заказов

После того, как покупатель разместил заказ, у него в голове всплывает одна мысль: «Где моя посылка?».

Это практически беспокоит.

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

Однако вашим клиентам нравится Telegram.

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

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

Мы разделим это на три части.

1. Как создать базового чат-бота

2.

Как настроить расширенные возможности бота

3. Как развернуть чат-бота в Telegram


Приступим.

1. Как создать базового чат-бота

Engati упростил вам создание базового чат-бота за несколько минут.

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

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

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

Engati позволяет создавать чат-бота, используя ряд шаблонов чат-ботов, предназначенных для различных сценариев использования.

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

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

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

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

Угадайте, что.Вы только что создали собственного чат-бота.

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

2. Как настроить расширенные возможности бота

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

Приступим!

Языки

Только 26% интернет-пользователей понимают хотя бы базовый английский. А поскольку Telegram имеет большую базу пользователей в странах, где английский не является самым популярным языком, имеет смысл обращаться к клиентам на их родном языке.

Engati позволяет привлекать клиентов через чат-ботов и в чате на более чем 50 языках. К ним относятся, помимо прочего, хинди, португальский, испанский и языки с письмом справа налево (RTL), такие как арабский.

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

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

Сбор данных

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

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

Назначение встреч

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

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

Платежи

Интегрируя своего чат-бота Engati с Stripe и другими платежными шлюзами, вы сможете стимулировать продажи и собирать платежи непосредственно через своего чат-бота Telegram.

Live Chat

Engati предлагает мощное интегрированное решение, обеспечивающее одновременно скорость и персонализацию.

Он объединяет автоматизацию и чат в одном решении.

Но становится еще лучше.

Вы даже можете интегрировать Engati Live Chat со своими системами продажи билетов и CRM, включая Salesforce, Zendesk и Freshdesk.

Сторонние интеграции

Ваш чат-бот Telegram также может быть интегрирован с другими платформами с помощью интеграции Zapier и JSON API.

3. Как развернуть чат-бота в Telegram

Развернуть чат-бота в Telegram довольно просто.

На портале Engati перейдите к рабочему процессу развертывания. Выберите Telegram из списка каналов.

Теперь введите ссылку отца бота (https: /telegram.me/botfather) в своем браузере или откройте приложение Telegram и найдите «Отец бота» в поле поиска вверху страницы чата.

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

Чтобы создать нового бота Telegram, введите «/ newbot».

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

После того, как вы выберете имя, пришло время выбрать имя пользователя для вашего бота Telegram. Это имя пользователя должно заканчиваться на «бот».

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

Скопируйте этот токен доступа, перейдите на портал Engati, выберите «Развернуть» -> «Telegram» и вставьте его в поле «Токен доступа».

Просто нажмите "Сохранить", и ваш бот готов к использованию в Telegram.

Это так просто. Это все, что нужно для создания и развертывания бота в Telegram.

Пример использования: вот как Larsen & Toubro использует своего чат-бота Telegram

В компании Larsen & Toubro работает более 3 30 000 сотрудников. При такой большой рабочей силе сложно привлекать сотрудников, отвечать на их вопросы и получать от них информацию о ходе работы.

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

Нам понравилось, насколько легко было использовать платформу Engati. Фактически, L&T удалось создать полностью интегрированное решение самостоятельно, используя простой диалоговый моделист Engati с минимальным вмешательством специалистов Engati по созданию ботов.

Чтобы укрепить связь со своими сотрудниками, L&T решила использовать многоканальный подход к общению с ними.

Она развернула своего чат-бота на основе искусственного интеллекта как в Telegram, так и в WhatsApp.

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

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

Создайте своего чат-бота Telegram


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

Пс. Направляйте сложные запросы клиентов своим действующим агентам. Попробуйте Engati Live Chat с неограниченным количеством агентов, бесплатно в течение 30 дней!

telegram-bot-rb / telegram-bot: гем Ruby для создания бота Telegram с дополнительной интеграцией с Rails

Инструменты для разработки ботов Telegram. Лучше всего использовать с Rails, но можно использовать в автономное приложение. Предполагается использовать в режиме веб-перехватчика в продакшене и в режиме опроса. в разработке, но вы можете использовать poller в продакшене, если хотите.

В упаковке:

  • Легкий клиент для API ботов (с быстрым и поточно-ориентированным httpclient под капотом).
  • Контроллер с анализатором сообщений: определение методов для команд, а не case ветвей.
  • Промежуточное ПО и помощники маршрутов для производственной среды env.
  • Опросник с автоматическим загрузчиком исходных текстов для разработки env.
  • Рейк для обновления URL-адресов веб-перехватчиков.
  • Асинхронный режим . Позвольте адаптеру очереди обрабатывать сетевые ошибки!

Вот пример telegram_bot_app с сеансом, клавиатурой и встроенными запросами. Запустите его на своем локальном компьютере за 1 минуту!

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

См. Примеры и поваренную книгу в вики.

Содержание

Установка

Добавьте эту строку в Gemfile вашего приложения:

А затем выполните:

  пачка
  

Или установите самостоятельно как:

  gem установить телеграмм-бот
  

Требовать при необходимости:

Использование

Конфигурация

Хотя клиенты могут быть созданы явно, существует Telegram.bots_config = метод для настройки клиентов всего приложения, которые доступны через Telegram .bots . Он принимает хэш {bot_id: bot_config} , и есть специальный идентификатор : по умолчанию который используется для Telegram.bot .

 Telegram.bots_config = {
  по умолчанию: DEFAULT_BOT_TOKEN,
  чат: {
    токен: CHAT_BOT_TOKEN,
    имя пользователя: 'ChatBot', # для поддержки команд с упоминаниями (/ help @ ChatBot)
    server: 'http: //local. bot.api.server', # для локального сервера API ботов
  },
}

Телеграмма.bot.get_updates
Telegram.bot == Telegram.bots [: default] # true
Telegram.bots [: chat] .send_message (...) 

Конфигурация в приложении Rails

В приложении Rails Telegram.bots_config автоматически считывается из secrets.yml с телеграмма раздел:

 разработка:
  телеграмма:
    # Одиночного бота можно указать так
    бот: ТОКЕН
    # или же
    бот:
      токен: TOKEN
      имя пользователя: SomeBot
      сервер: http: //local.bot.api.server

    # Для нескольких ботов в одном приложении используйте хэш `internal_bot_id => settings`
    боты:
      # просто установите токен бота
      чат: TOKEN_1
      # или добавьте имя пользователя для поддержки команд с упоминаниями (/ help @ ChatBot)
      аукцион:
        токен: TOKEN_2
        имя пользователя: ChatBot 

Для рельсов> = 5.2 Telegram :: Bot ищет конфигурацию сначала в учетных данных, а затем в секретах. Чтобы использовать учетные данные в качестве хранилища конфигурации, добавьте раздел телеграммы к учетным данным вместо секретов, используя Учетные данные rails: редактировать . В этом случае имейте в виду, что Rails <6.0 может не загружаться учетные данные в среде разработки по умолчанию. В Rails> = 6.0 запустите rails credentials: edit --environment development для настройки бота в каждой среде.

Я предлагаю не использовать учетные данные Rails 5.2, потому что это может привести к утечке конфиденциальных данных. и его сложнее использовать в нескольких средах.Видеть secure_credentials gem для лучшего варианта.

Отныне клиенты будут доступны с помощью Telegram.bots [: chat] или Telegram.bots [: аукцион] . Доступ к одному боту можно получить с помощью Telegram.bot или Telegram.bots [: default] .

Клиент

Клиент создан с помощью Telegram :: Bot :: Client.new (токен, имя пользователя) . Имя пользователя не является обязательным и используется только для анализа команд с упоминаниями.

Существует метод request (path_suffix, body) для выполнения любого запроса.И есть ярлыки для всех доступных запросов в подчеркнутом стиле. ( answer_inline_query (params) вместо answerInlineQuery ).

 bot.request (: getMe) или bot.get_me
bot.request (: getupdates, смещение: 1) или bot.get_updates (смещение: 1)
bot.send_message (chat_id: chat_id, текст: «Тест») 

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

Любая ошибка запроса API вызовет Telegram :: Bot :: Error с описанием в сообщении. Special Telegram :: Bot :: Forbidden вызывается, когда бот больше не может отправлять сообщения в чат.

Набранные ответы

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

 # Добавьте в свой гем-файл:
драгоценный камень 'telegram-bot-types', '~> x.x.x'
# Включить приведение типов:
Telegram :: Бот :: Клиент.typed_response!
# или для одного экземпляра:
bot.extend Telegram :: Bot :: Client :: TypedResponse

bot.get_me.class # => Telegram :: Bot :: Types :: User 

Контроллер

Контроллер

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

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

Контроллеры

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

 класс Telegram :: WebhookController  
  # Обязательно используйте аргументы splat и значения по умолчанию, чтобы не получать ошибки при
  # кто-то передал в сообщение более или менее аргументов.def start! (слово = ноль, * другие_слова)
    # do_smth_with (слово)

    # полный объект сообщения также доступен через метод экземпляра `payload`:
    # process_raw_message (полезная нагрузка ['текст'])

    # Существуют ярлыки `chat` и` from`.
    # Для запросов обратного вызова `chat` берется из` message`, когда он доступен.
    ответ = от? "Здравствуйте, # {от ['username']}!" : 'Всем привет!'

    # Есть помощник `response_with` для установки` chat_id` из полученного сообщения:
    response_with: сообщение, текст: ответ

    # `reply_with` также устанавливает` reply_to_message_id`:
    reply_with: фото, фото: файл.открытый ('party.jpg')
  конец

  частный

  def with_locale (& блок)
    I18n.with_locale (locale_for_update, & блок)
  конец

  def locale_for_update
    если из
      # локаль для пользователя
    Эльсиф чат
      # язык для чата
    конец
  конец
конец 
Ответить помощникам

Есть помощники по основным ответам. Они просто устанавливают чат / сообщение / запрос идентификаторы из обновления. Видеть Ответить модуль для получения дополнительной информации. Вот эти сигнатуры методов:

 def response_with (тип, параметры); конец
def reply_with (тип, параметры); конец
def answer_inline_query (результаты, params = {}); конец
def answer_callback_query (текст, параметры = {}); конец
def edit_message (тип, параметры = {}); конец
def answer_pre_checkout_query (нормально, params = {}); конец
def answer_shipping_query (нормально, params = {}); конец 
Необязательное приведение типов

Вы можете включить приведение типов update с telegram-bot-types , включив Телеграмма :: Бот :: UpdatesController :: TypedUpdate :

 класс Telegram :: WebhookController  Telegram :: Bot :: Types :: Сообщение
  конец
конец 
Сессия

Этот API очень близок к API сеанса ActiveController, но работает иначе. под капотом. Файлы cookie не могут использоваться для хранения идентификатора сеанса или весь сеанс (как это делает CookieStore). Таким образом, он использует хранилище ключей и значений и session_key метод построения идентификатора из обновления.

Магазин

может быть одним из множества магазинов ActiveSupport :: Cache . Хотя : file_store подходит для разработки и развертывания на одном сервере без большой нагрузки он плохо масштабируется.Базы данных типа "ключ-значение" с постоянством такие как Redis, более подходят для производственного использования.

 # В магазине приложений rails можно настроить в файлах env:
config.telegram_updates_controller.session_store =: redis_store, {expires_in: 1.month}

# В другом приложении это можно сделать для всех контроллеров с помощью:
Telegram :: Bot :: UpdatesController.session_store =: redis_store, {expires_in: 1.month}
# или для конкретного:
OneOfUpdatesController.session_store =: redis_store, {expires_in: 1.month} 

Идентификатор сеанса по умолчанию состоит из имени пользователя бота и (из || чата) ['id'] .Это означает, что сеанс будет одинаковым для обновлений от пользователя в каждом чате, и разные для каждого пользователя в одном групповом чате. Чтобы изменить это поведение, вы можете переопределить метод session_key или даже определить несколько сеансов в одном контроллере. Подробнее см. Модуль Session .

 класс Telegram :: WebhookController 
Контекст сообщения

Обычно поддерживается цепочка сообщений типа BotFather: после получения команды он требует от вас дополнительных аргументов.Для этого есть MessageContext :

 класс Telegram :: WebhookController 
Запросы обратного вызова

Вы можете включить модуль CallbackQueryContext для разделения #callback_query на несколько методов.Он не требует поддержки сеанса и берет контекст из данные: если данные имеют префикс с двоеточием, например, этот my_ctx: smth ... , он вызывает my_ctx_callback_query ('smth ...') , когда такой метод действия определен. Иначе он вызывает callback_query ('my_ctx: smth ...') как обычно. Запросы обратного вызова без префикса остаются нетронутыми.

 # Этот обрабатывает `set_value:% {something}`.
def set_value_callback_query (новое_значение = ноль, *)
  save_this (значение)
  answer_callback_query ('Сохранено!')
конец

# А это для `make_cool:% {something}`
def make_cool_callback_query (вещь = ноль, *)
  do_it (вещь)
  answer_callback_query ("# ​​{thing} сейчас круто! Как контекст запроса обратного вызова.")
конец 

Маршруты в приложении Rails

Имеется помощник telegram_webhook для приложения rails для определения маршрутов для веб-перехватчиков. Он определяет маршруты в телеграмме / # {hash_of (bot.token)} и связывает ботов с контроллером.

 # Для большинства офф-приложений потребуется
telegram_webhook TelegramController
# что то же самое, что
telegram_webhook TelegramController,: по умолчанию

# Используйте разные контроллеры для каждого бота:
telegram_webhook TelegramChatController,: чат
telegram_webhook TelegramAuctionController,: аукцион

# Определенному маршруту присвоено имя, и его имя зависит от `Telegram.боты`.
# Для одиночного бота будет использоваться 'telegram_webhook',
# для нескольких ботов он использует ключ бота в `Telegram.bots` в качестве префикса
# (например, `chat_telegram_webhook`).
# Вы можете переопределить это с помощью опции `as`:
telegram_webhook TelegramController, как:: custom_telegram_webhook 
Обработка обновлений

Для обработки обновления с помощью контроллера вызовите на нем .dispatch (bot, update) . Есть несколько вариантов для автоматического запуска:

  • Используйте веб-перехватчики с помощником маршрутов (описано выше).
  • Используйте Telegram :: Bot :: Middleware со стойкой (пример в вики).
  • Используйте опросчик (описан в следующем разделе).

Чтобы запустить действие без обновления (например, отправлять уведомления от заданий), вы можете позвонить по номеру #process напрямую. В этом случае контроллер можно инициализировать. с : из и / или : параметры чата вместо обновить объект :

 контроллер = ControllerClass.new (бот, от: telegram_user, чат: telegram_chat)
контроллер.процесс (: добро пожаловать, * аргументы) 

Разработка и отладка

Используйте телеграмму rake : bot: poller для запуска поллера в приложении rails. Он автоматически загружает изменения без перезапуска в среде разработки. Необязательно передать идентификатор бота в BOT envvar ( BOT = chat ), чтобы указать бота, для которого будет запускаться опрос.

Эта задача требует использования помощника telegram_webhook , поскольку он соединяет ботов с контроллером. Для запуска поллера в других случаях используйте:

 Telegram :: Bot :: UpdatesPoller.start (бот, класс_контроллера) 

Тестирование

Существует класс Telegram :: Bot :: ClientStub для заглушки клиента для тестов. Вместо выполнения запросов API он хранит их в хэше запросов и .

Для заглушки всех возможных клиентов используйте Telegram :: Bot :: ClientStub.stub_all! до инициализация клиентов. Вот шаблон для RSpec:

 # сред / test.rb
# Обязательно запускайте его перед определением маршрутов или доступом к любому боту в приложении!
Телеграмма.reset_bots
Telegram :: Bot :: ClientStub.stub_all!

# rails_helper.rb
RSpec.configure do | config |
  # ...
  config.after {Telegram.bot.reset}
  # или для нескольких ботов:
  config.after {Telegram.bots.each_value (&: reset)}
  # ...
конец 

Контексты и помощники RSpec включаются автоматически для групп и примеров с сопоставлением теги. В RSpec <3.4 требуется явно использовать include_context . См. Список доступных помощников для подробностей.

Существует 3 типа интеграционных тестов:

  • : rails - для тестирования бота в режиме webhooks в приложении Rails.Он имитирует запросы Webhook, отправляя данные POST на конечную точку контроллера. Он работает поверх спецификаций запросов, поэтому требуется rspec-rails gem.
  • : rack - Для тестирования бота в режиме webhooks в приложении, отличном от Rails. Он использует гем Rack-test для запросов POST к конечной точке бота.
  • : poller - вызывает .dispatch непосредственно в классе контроллера.

Выберите подходящий, затем запросите телеграмму / bot / rspec / integration / # {type} и пометьте группу спецификаций тегом telegram_bot: type .См. Параметры конфигурации для каждого типа в телеграмма / бот / rspec / интеграция /.

Вот пример теста для приложения Rails:

 # spec / requests / telegram_webhooks_spec.rb
требуется 'телеграмма / бот / rspec / интеграция / рельсы'

RSpec.describe TelegramWebhooksController, telegram_bot:: rails do
  # для старого RSpec:
  # include_context 'телеграмма / бот / интеграция / рельсы'

  # Основной метод - #dispatch (обновление). Некоторые помощники:
  # dispatch_message (текст, параметры = {})
  # dispatch_command (cmd, * args)

  # Доступные сопоставления можно найти в Telegram :: Bot :: RSpec :: ClientMatchers.он 'показывает использование основных сопоставителей' do
    # Самый простой - #make_telegram_request (бот, действие).
    # Он работает аналогично сопоставителю `receive` и поддерживает цепочку` .with (args) .exactly (n) .times`.
    ожидайте {dispatch_command (: start)} .to make_telegram_request (bot,: sendMessage).
      с (hash_including (текст: 'текст сообщения'))

    # Есть несколько ярлыков для отправки базовых обновлений и ответов на тестирование.
    ожидайте {dispatch_message ('Hi')}. to send_telegram_message (bot, / msg regexp /, some:: option)
  конец

  опишите "#start!" делать
    тема {-> {dispatch_command: start}}
    # Использование встроенного сопоставителя для `response_to`:
    он {должен ответить_with_message 'Привет!' }
  конец

  # Есть контекст для запросов обратного вызова со связанными сопоставителями,
  # используйте тег: callback_query, чтобы включить его.описать '#hey_callback_query',: callback_query сделать
    let (: data) {"эй: # {имя}"}
    let (: name) {'Джо'}
    он {должен answer_callback_query ('Привет, Джо')}
    он {следует edit_current_message: text, text: 'Done'}
  конец
конец 

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

 требует 'telegram / bot / updates_controller / rspec_helpers'
RSpec.describe TelegramWebhooksController, введите:: telegram_bot_controller do
  # для старого RSpec:
  # include_context 'Telegram / bot / updates_controller'

  # Такие же помощники и сопоставители, как dispatch_command, answer_callback_query, доступны здесь.
конец 

Дополнительные примеры см. В образце приложения.

Развертывание

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

Асинхронный режим

Имеется встроенная поддержка асинхронных запросов с использованием ActiveJob. Без рельсов вы можете реализовать свой собственный рабочий класс для обработки таких запросов. Это позволяет:

  • Процесс обновляется очень быстро, не дожидаясь ответов телеграммы.
  • Обработать и повторить сетевые и другие ошибки с адаптером очереди.
  • ???

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

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

Если вам нужен асинхронный режим, но не нужно настраивать очередь, знайте, что Rails 5 поставляется с адаптером Async по умолчанию, и есть Пробойник для рельсов 4.

Чтобы отключить асинхронный режим для блока кода, используйте бот .асинхронный (ложь) {bot.send_photo} . Да, это тоже потокобезопасно.

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

Разработка

После проверки репо запустите bin / setup , чтобы установить зависимости и перехватчики git. Затем запустите appraisal rake spec , чтобы запустить тесты. Вы также можете запустить bin / console для интерактивной подсказки, которая позволит вам поэкспериментировать.

Чтобы установить этот гем на локальный компьютер, запустите пакет bundle exec rake install . Чтобы выпустить новую версию, обновите номер версии в version.rb , а затем запустите пакет bundle exec rake release , который создаст тег git для версии, нажмите коммиты и теги git, а затем отправьте файл .gem на rubygems.org.

Используйте bin / fetch-telegram-methods для обновления списка методов API с веб-сайта Telegram.

Содействующие

Отчеты об ошибках и запросы на вытягивание приветствуются на GitHub по адресу https: // github.com / телеграмма-бот-рб / телеграмма-бот.

Как создать чат-бота в Telegram. Что нужно знать, чтобы сделать первый шаг | Маркус Бекенкамп

Реализация команды

Существует пакет Python, который упрощает создание бота для Telegram. С pyTelegramBotAPI вы можете добавить декоратора к своим функциям, и они будут отвечать на полученные команды.

Чтобы установить этот пакет через pip, выполните эту команду на консоли:

 $ pip install pyTelegramBotAPI 

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

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

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

Чтобы создать файл в командной строке:

 $ touch bot.py 

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

 import os 
import telebot

bot = telebot.TeleBot (os.environ ['BOT_API_TOKEN'])

Следующий шаг: реализовать команды. Метод отвечает на команды / start и / help приветственным сообщением.

 @ bot.message_handler (commands = ['start', 'help']) 
def send_welcome (сообщение):
bot.reply_to (сообщение, u «Привет, добро пожаловать в этого бота!»)

В конце скрипт мы вызываем метод bot.polling () для инициализации бота.

 bot.polling () 

Запуск сценария из командной строки делает его готовым к первому тесту.

 $ python bot.py 

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

И вуаля!

Бот отвечает на сообщение / start в Telegram Web.

Создание ботов Telegram с n8n, платформой без кода 💬

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

В Берлине весна, и погода непредсказуема. Сегодня будет 6 ° C, а на следующий день 21 ° C 🤯 Хорошим первым вариантом использования для меня было бы создание бота, который мог бы отправлять мне информацию о погоде, когда я об этом спрашиваю.В этом уроке я научу вас, как создать своего собственного погодного бота в Telegram с помощью n8n (рабочий процесс был построен с использованием [защита электронной почты]).

Для этого мы проделаем пять шагов:

  1. Создание бота в Telegram
  2. Добавление команд боту
  3. Создание триггерного узла Telegram на n8n
  4. Создание погодного узла на n8n
  5. Создание Узел Telegram на n8n

Создание бота в Telegram

Вы можете создать бота Telegram прямо в мобильном приложении, в веб-клиенте или в настольном приложении для вашей ОС.Я лично использовал последний в macOS, потому что он обеспечивает лучшую видимость и контроль.

Для создания бота Telegram я скачал приложение Telegram для macOS. Однако вы также можете использовать для этого веб-клиент или мобильное приложение. Мы должны использовать мастера всех ботов, созданных командой Telegram, метко названный BotFather. Вы можете открыть чат с BotFather, нажав здесь. Вы можете получить список всех команд, которые вы можете выполнить, с помощью / help .

Прежде всего введите команду / newbot .Он попросит вас назвать своего бота. Я назвал его «бот n8n», почему бы и нет? Затем вам будет предложено выбрать имя пользователя для бота. Это должно быть уникальное имя пользователя, которое должно заканчиваться на «бот». Я пошел с n8n_weather_bot .

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

Создание бота в Telegram

Добавление команд боту

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

Чтобы установить новую команду для нашего бота, снова зайдите в окно чата BotFather. Введите команду / setcommands , и вам будет предложено выбрать бота, для которого вы хотите установить команду.Выберите только что созданного бота и введите команду в предложенном формате. Я пошел дальше и ввел следующее:

погода - сообщает вам о погоде

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

Добавление команд к боту Telegram

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

Создание триггерного узла Telegram на n8n

Нашему боту требуется серверная часть. Чтобы начать создание серверной части бота, вам понадобится доступ к n8n. Вы можете зарегистрироваться на n8n.cloud, чтобы получить ранний доступ к нашему размещенному сервису. В качестве альтернативы установите n8n с помощью npm с помощью следующей команды:

npm install n8n -g

Вы также можете запустить n8n с помощью Docker. В этом случае, как только вы установили n8n, вы можете запустить его с помощью следующей команды:

n8n start --tunnel

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

Введите «o» в терминале, чтобы открыть пользовательский интерфейс редактора.

Пользовательский интерфейс редактора n8n

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

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

Теперь вам нужно настроить этот узел. Прежде всего, мы должны добавить учетные данные для API Telegram и предоставить доступ к этому узлу Telegram Trigger . Если вы забыли скопировать токен API, перейдите в окно чата BotFather и получите его оттуда. Добавьте новые учетные данные, щелкнув Create New в разделе Credentials узла.

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

Вот видео, на котором я выполняю описанные выше действия.

Создание узла триггера Telegram

Создание узла погоды на n8n

Теперь пришло время добавить узел OpenWeatherMap . Этот узел будет получать информацию о погоде для нашего бота.

Для этого нажмите кнопку « + » в правом верхнем углу экрана и выберите узел OpenWeatherMap . Нам снова нужно добавить учетные данные для API. Чтобы получить ключ API для OpenWeatherMap, вам необходимо зарегистрировать бесплатную учетную запись, и здесь вы найдете свои ключи API. Получив ключ, создайте новые учетные данные, как вы это делали для узла Telegram Trigger .

Для меня настройки узла по умолчанию были идеальными. Я только что добавил berlin, de как город.Вы можете проверить код своего города здесь. Наконец, нажмите создать Execute Node , и мы готовы!

Вот видео, на котором я выполняю описанные выше действия.

Создание узла погоды

Создание узла Telegram на n8n

Во-первых, вы должны сохранить рабочий процесс, нажав «Сохранить как» в меню Workflow вверху слева. Переключить Активный на истинный .

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

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

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

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

Предоставление учетных данных Telegram доступ к узлу Telegram

Теперь вам нужно настроить два поля: Идентификатор чата и Текст .Поскольку нам нужно отправить сообщение человеку, который запросил бота, мы можем получить его идентификатор чата из узла Telegram Trigger . Поскольку это динамическая информация, мы нажимаем на значок шестеренки рядом с полем Chat ID , чтобы добавить выражения. Здесь вы можете выбрать:

Узлы> Триггер Telegram> Выходные данные> JSON> сообщение> чат> id

Для поля Текст , поскольку нам нужно снова добавить больше динамической информации, мы выберем вывод OpenWeatherMap аналогичным образом:

Current Node> Input Data> JSON> main> temp

Это даст нам текущее значение температуры.Наконец, нажмите создать Execute Node , после чего бот отправит вам сообщение в Telegram.

Вот видео, на котором я выполняю описанные выше действия.

Создание узла Telegram

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

  Прямо сейчас у нас есть {{$ json ["weather"] [0] ["description"]}}.Температура составляет {{$ json ["main"] ["temp"]}} ° C, но на самом деле это похоже на {{$ json ["main"] ["Feels_like"]}} ° C 🙂  

Теперь, когда я возвращаюсь в свое приложение Telegram, оно работает так.

Конечный результат погодного бота Telegram

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

Следующие шаги

В этом руководстве был бот Telegram с базовым рабочим процессом n8n.n8n имеет множество интеграций, которые могут просто обеспечить очень сложные рабочие процессы. В качестве следующего упражнения вы также можете изучить получение ежедневных данных панели управления, возможно, из Google Sheets или Airtable. Вы можете создать другую команду и добавить узел IF или Switch перед узлом Telegram Trigger для обработки различных команд. Вы также можете узнать, как создавать свои собственные узлы здесь.

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

Заключение

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

Я был бы очень рад узнать, что вы создали с помощью n8n! Если вы столкнулись с проблемой, следуя инструкциям, не стесняйтесь обращаться ко мне в Twitter или попросить помощи на нашем форуме 💙

команд Telegram чат-бота - Activechat.ai manuals

Telegram имеет приятную функцию, которая позволяет создавать меню чат-бота (что-то похожее на постоянное меню в Facebook Messenger) из так называемых «команд». Эти меню могут быть вызваны, когда пользователь набирает «/» (косая черта) в разговоре.

Пример меню чат-бота в Telegram

Вы можете использовать команды для активации определенных навыков вашего чат-бота. Просто вернитесь к @BotFather в Telegram и введите «/ setcommands» . Бот спросит, какой из ваших чат-ботов использовать, а затем предложит ввести список команд.

Каждая команда запускает событие чат-бота с тем же именем в Activechat.

Введите команды (по одной в строке) с простыми описаниями. Помните, что все команды должны содержаться в одном сообщении, поэтому используйте «Ctrl + Enter» (или «Cmd + Enter» на Mac) для разделения строк и нажимайте «Отправить» только после того, как вы ввели все команды.

Добавление списка команд вашему чат-боту в Telegram

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

Команды чат-бота Telegram запускаются с помощью символа «/»

В этом примере команда «/ about», отправит «about», событие (которое активирует навык «about» в Activechat), «/ contact» отправит событие «contact», и т. Д. .

Лучшие практики использования команд

Как и в случае с постоянными меню в Facebook Messenger, при создании списков команд для чат-бота Telegram имеет смысл следовать некоторым простым рекомендациям.

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

Doc navigation

← Создание чат-ботов Telegram с @BotFather .