Как создать чат-бота для Viber – База знаний Timeweb Community
Поговорим о создании простого чат-бота Viber для пересылки сообщения.
Термины и определения
Чат-бот Viber – программа Viber, реализованная через паблик-аккаунт, с которой пользователь может взаимодействовать для достижения какой-либо цели.
Паблик-аккаунты – специально созданные публичные аккаунты для общения и взаимодействия с клиентами (в том числе с помощью чат-ботов). Частным случаем паблик-аккаунтов являются паблик-чаты, где общается какая-либо группа людей.
Viber-ссылка – специальная ссылка для открытия контакта, чат-бота или другого ресурса в приложении Viber. Начинается с особого префикса viber://. Например: viber://pa?chatURI=hello2bot.
Создаем чат-бота
Создадим самого простого чат-бота для Viber. Почему самого простого? Потому что у новичков обычно возникает уйма вопросов. Естественно, такой простой чат-бот нужен для проверки того, что все работает. Тем более функционал простого бота можно расширять дальше по своему усмотрению.
Цель: бот будет пересылать обратно наше сообщение.
По сути, площадка для размещения чат-бота – это обычный web-хостинг. А сам бот в нашем случае – один PHP-файл.
Если вы сами хотите развернуть хостинг, то можно использовать связку: Apache + PHP + MySQL, но лучше воспользоваться услугами хостинг-провайдера, где установлено все необходимое, например, Timeweb.
Технология работы бота проста:
- Мы пишем в чат сообщение, оно уходит на сервер Viber.
- Viber обращается к нашему серверу (скрипту) через HTTP-запрос.
- На это наш сервер (скрипт) предоставляет ответ, который уходит обратно на сервер Viber.
- Ответ приходит в чат.
А теперь пошаговый процесс создания (из 13 шагов):
1. Переходим на сайт разработки. Предварительно у вас на смартфоне должно быть установлено приложение Viber.
2. Вводим номер телефона и авторизуемся.
3. Viber пришлет код подтверждения – вводим его и нажимаем «Дальше».
4. Нажимаем кнопку «Создать бот» и заполняем необходимые поля:
- Account Image – загрузите картинку 400×400, которая будет отображаться в профиле паблик-аккаунта и как значок в сообщениях.
- Account Name – имя, которое будет отображаться в заголовке у бота.
- URI – придумайте идентификатор, по которому можно будет найти бота.
- Category – выберите одну из 7 основных категорий.
- Subcategory – выберите из списка подкатегорию, в которой будет функционировать ваш бот.
- Language – выберите основной язык.
- Account Description – подробнее опишите создаваемого бота.
- Website Address – по желанию укажите адрес вашего сайта.
- Email Address – адрес электронной почты.
- Location – локация, местоположение.
5. Ставим галочку о принятии соглашения и нажимаем «Create».
6. После этого вы получите токен для аутентификации Viber. Скопируйте и сохраните его.
7. Теперь загрузите к себе на компьютер заготовку для чат-бота: github.com/the-lans/bots/tree/master/Viberbot
Прямая ссылка на скачивание всего архива: github.com/the-lans/bots/archive/master.zip
8. Распакуйте и откройте файлы index.php и php из папки Viberbot.
9. В этих файлах необходимо изменить некоторые параметры.
В файле index.php необходимо изменить:
- AUTH_TOKEN на токен вашего паблик-аккаунта Viber.
- HelloBot на имя вашего бота, под которым он будет вам отвечать.
В файле set_webhook.php необходимо изменить:
- AUTH_TOKEN на токен вашего паблик-аккаунта Viber.
- WEBHOOK_URL на URL вашего вебхука, т.е. URL нахождения файла index.php на вашем хостинге.
10. По требованию Viber на вашем сайте должен быть установлен сертификат SSL. Такой сертификат можно заказать как платно (например, Sectigo Positive SSL), так и бесплатно (SSL Let’s Encrypt). Подробнее о SSL-сертификатах читайте в Справочном центре.
11. Когда SSL-сертификат станет активным, заходим в панель хостинга Timeweb через файловый менеджер:
- Заходим к себе на сайт.
- Загружаем два файла.
12. Установим вебхук для нашего бота в Viber. Заходим в браузер и запускаем файл set_webhook.php. Если все хорошо, выдается следующее сообщение (см. ниже). Если у вас не получилось установить вебхук, внимательно проверьте URL-адрес (соблюдение регистра букв) или корректность PHP-файла.
13. Заходим в Viber на смартфоне. Последовательно нажимаем в меню: Еще –> Паблик аккаунты –> HelloBot.
Если паблик-аккаунт скрыт, нажимаем «Показать».
Проверяем результат
В паблик-аккаунте нажимаем кнопку «Сообщение» и начинаем взаимодействие с ботом. Пишем любую фразу, бот должен нам ответить тем же. Если бот отказывается отвечать, проверьте корректность PHP-файла, наличие SSL-сертификата и пр.
Нами был успешно создан и запущен чат-бот для Viber. Теперь можно подумать о расширении его функционала. Документацию Viber REST API можно прочитать на официальном сайте мессенджера.
Здесь мы рассмотрели создание бота на PHP. Бота под Viber можно создать также на Python и Node.JS.
Создание бота — Teams | Microsoft Docs
- Чтение занимает 8 мин
В этой статье
Боты — это приложения для бесед, которые выполняют определенный набор задач. Построенные на основе Microsoft Bot Frameworkботы общаются с пользователями, отвечают на их вопросы и заблаговременно уведомляют их об изменениях и других событиях. Это отличный способ связи с пользователями.
Важно!
Боты доступны в облако сообщества для государственных организаций (GCC) средах, но не GCC среде high and Department of Defense (DoD).
Далее описано и показано, как люди могут добавлять ботов, использовать их и управлять ими в Teams. Это может помочь вам в создании приложения.
Комплект разработчика для пользовательского интерфейса Microsoft Teams
В комплекте разработчика для пользовательского интерфейса Microsoft Teams можно найти более полные рекомендации по проектированию ботов, в том числе элементы, которые можно взять и изменить так, как нужно вам.
Добавить бота
Боты доступны в чатах, каналах и личных приложениях.
Мобильные устройства
Пользователи могут получать доступ к ботам, добавленным на рабочем столе с помощью @mention.
Рабочий стол
Пользователи могут добавить бот один из следующих способов:
В магазине Teams.
Использовать всплывающее окно приложения. Для этого выберите значок Дополнительные в левой части экрана Teams.
С помощью @упоминания в новом чате или поле «Создать» (в следующем примере показано, как это можно сделать в групповом чате).
Представление бота
Очень важно, чтобы бот сам себя представлял и объяснял, что он умеет делать. Первоначальный обмен репликами с ботом помогает пользователям понять, что с ним делать, узнать его ограничения и, что самое важное, освоиться с ним.
Приветствие в чате один на один
В личных контекстах приветствия задают тон бота. В сообщении содержится приветствие, то, что бот может сделать, и некоторые предложения по взаимодействию. Например, «Попробуйте спросить меня о …». По возможности эти предложения должны возвращать готовые ответы, чтобы пользователю не обязательно было входить в систему.
Мобильные устройства
Рабочий стол
Приветствие в каналах и групповых чатах
Введение бота должно немного отличаться в каналах и групповых чатах по сравнению с личным пространством (например, личным приложением). В реальной жизни, войдя в комнату, заполненную людьми, вы бы не стали приветствовать тех, кто там уже находится; вместо этого вы бы представились. То же самое надо воплотить в конструкции бота.
Мобильные устройства
Рабочий стол
Проверка подлинности бота при едином входе
Когда человек посылает сообщение боту, для использования всех функций бота человеку может потребоваться войти в систему. Вы можете упростить процесс проверки подлинности, используя единый вход.
Не забывайте: в командном меню бота (Что я умею делать?) необходимо также предоставить команду для выхода из системы.
Мобильные устройства
Рабочий стол
Обзоры
Вы можете включить обзорное видео с приветствиями и указать, отвечает ли бот на что-нибудь вроде команды «справка». Обзор — самый эффективный способ описать, что может сделать бот. Если применимо, они также отлично подходит для описания других функций приложения. Например, включите скриншоты расширения обмена сообщениями.
Важно!
Обзоры должны быть доступны пользователям без входа в систему.
Чаты один на один
В личном приложении карусель может предоставить эффективный обзор бота и любых других функций приложения. Рекомендуется включить кнопки, которые пользователи могут попробовать команды ботов. Например, создание задачи.
Мобильные устройства
Рабочий стол
Каналы и групповые чаты
В каналах и групповых чатах видеообзор должен открываться в модальном режиме (также известном как модуль задач чтобы не прерывать текущие беседы. Это также дает возможность реализовать в обзоре представления на основе ролей.
Мобильные устройства
Рабочий стол
Чат с ботом
Боты интегрируются непосредственно в структуру обмена сообщениями Teams. Пользователи могут общаться с ботом, чтобы получать ответы на свои вопросы, или вводить с клавиатуры команды, чтобы бот выполнял узкий или определенный набор задач. Боты могут заблаговременно уведомлять пользователей об изменениях или обновлениях приложения через чат.
Чат с ботом в разных контекстах
Ботов можно использовать в следующих контекстах:
- Личные приложения
- Приватный чат: пользователь может начать приватную беседу с ботом. Это то же самое, что и использование бота в личном приложении.
- Групповой чат: люди могут взаимодействовать с ботом в групповом чате, @упоминая бота.
- Канал: люди могут взаимодействовать с ботом в канале. @упоминанием имени бота в поле «Создать». Помните, что в этом контексте бот доступен всей группе, а не только каналу.
Анатомия
Мобильные устройства
Счетчик | Описание |
---|---|
1 | Имя и значок приложения |
2 | Вкладка чата: открывает пространство для общения с ботом (только для личных приложений). |
3 | Настраиваемые вкладки: открывает другое содержимое, связанное с вашим приложением. |
4 | Пузырек чата: беседы ботов используют структуру обмена сообщениями Teams. |
5 | Адаптивная карта. Если ответы бота включают адаптивные карты, карта занимает полную ширину пузыря чата. |
Рабочий стол
Счетчик | Описание |
---|---|
1 | Имя и значок приложения |
2 | Вкладка чата: открывает пространство для общения с ботом (только для личных приложений). |
3 | Настраиваемые вкладки: открывает другое содержимое, связанное с вашим приложением. |
4 | Сведения: выводит на экран основные сведения о приложении. |
5 | Пузырек чата: беседы ботов используют структуру обмена сообщениями Teams. |
6 | Адаптивная карта. Если ответы бота включают адаптивные карты, карта занимает полную ширину пузыря чата. |
7 | Меню команд: отображает стандартные команды бота (определенные вами). |
Меню команд
В командном меню содержится список слов или фраз, на которые бот должен отвечать всегда. Меню команд отображается над полем «Создать», когда кто-нибудь беседует с ботом. При выборе команды она вставляется в сообщение.
Список команд должен быть кратким. Меню предназначено только для выделения основных функций бота. Команды также должны быть краткими. Например, создайте команду Помоги вместо Вы бы не могли мне помочь?
Меню команд должно всегда быть доступно независимо от состояния беседы.
Понимание того, что говорят люди
Используйте толковый словарь и попросите людей из разных слоев общества и с разным уровнем образования (столько, сколько удастся найти), чтобы помочь вам выработать различные интерпретации стандартных запросов.
Извлечение намерения и данных из сообщений
Разрабатывайте бот так, чтобы он умел понимать намерения, то есть понимать, чего хочет пользователь от бота в ответ на сообщение или запрос. Цель классифицирует сообщение или запрос как одно действие с одним или более объектами данных, на которые влияет это действие.
В следующих примерах описаны намерения пользователя и данные в сообщениях, отправленных ботам:
Анализируйте и совершенствуйте
Узнавайте, что говорят пользователи при чате с ботом. Это будет непрерывный итеративный процесс по мере роста пользовательской базы в разных расположениях и организациях. Оттачивать умение бота распознавать язык и намерения можно с помощью Microsoft Language Understanding (LUIS).
- Понимание LUIS. Узнайте, как LUIS использует ИИ для понимания естественного языка (NLU), чтобы оперировать данными приложения.
- Интеграция с LUIS. Вы можете добавлять боту возможности естественного языка, не создавая сложных моделей машинного обучения.
Варианты использования
Простые запросы
Боты могут доставлять точное соответствие запросу или группе родственных соответствий, чтобы устранить двойственность. Для получения родственных соответствий группируйте содержимое с помощью карточки списка.
Мобильные устройства
Рабочий стол
Взаимодействие с несколькими поворотами
Бот может поддерживать выполнение запросов и отвечать вопросы, но он также должен уметь обрабатывать взаимодействия с несколькими поворотами. Если бот предугадывает возможные дальнейшие действия пользователя, людям будет намного проще выполнить задание. Для них это легче, чем сразу составить сложный запрос.
В следующих примерах бот отвечает на каждое сообщение с вариантами того, что может потребоваться сделать дальше.
Мобильные устройства
Рабочий стол
Инициируйте общение с пользователями
С помощью проактивных сообщений бот может действовать как дайджест, который с определенной периодичностью отправляет уведомления, актуальные для отдельного лица, группового чата или канала. Бот может отправить сообщение, если что-то изменилось в документе или когда завершено рабочее задание.
Мобильные устройства
В следующем примере пользователь получает уведомление о том, что бот передает их в другом канале.
Теперь в этом канале пользователь может прочитать свое сообщение от бота.
Рабочий стол
В следующем примере пользователь получает всплывающее уведомление о том, что бот передает им сообщения в другом канале.
Теперь в этом канале пользователь может прочитать свое сообщение от бота.
Использование вкладок с ботами
В личных приложениях вкладка может дополнять то, что может сделать бот. Например, если бот может создавать рабочие элементы, хорошо показать все эти элементы в центре расположения на вкладке. Дополнительные новости о разработке вкладок.
Мобильные устройства
Рабочий стол
Управление ботом
Пользователи должны иметь возможность менять настройки бота. Эту функцию можно предоставить с помощью команд бота, но обычно эффективнее включать все параметры в модуль задач (как показано в следующем примере).
Рекомендации
Используйте эти рекомендации для создания качественных приложений.
Контент
Как надо: создать отчетливо выраженную личность
Как держится ваш бот? Разговаривает двружелюбно и легко? Сухо излагает факты? А может, он со странностями? Как он должен реагировать в различных сценариях? Если вы заранее продумаете и документируете личность бота, вам будет проще написать для него ответы, звучащие естественно и связно.
Узнайте больше о написании ботов в статье Комплект разработчика пользовательских интерфейсов Microsoft Teams (Figma).
Как надо: четко обозначьте, что умеет делать ваш бот
Приветствия и обзоры помогают пользователям понять, что они могут делать с вашим ботом.
Как не надо: скрывать функции бота
Первые впечатления очень важны. Увидев ничего не говорящее сообщение о входе, люди, скорее всего, растеряются или заподозрят неладное.
Как надо: распознавать вопросы, которые не являются вопросами
Бот должен уметь отвечать на такие сообщения, как «Привет», «Помоги» и «Спасибо», а также вносить поправки на распространенные опечатки и разговорные выражения.
Как не надо: не упускайте случая порадовать пользователей
Некоторые люди ожидают, что беседы с ботом будут идти естественно, совсем как с живым человеком. Постарайтесь избежать неуклюжих ответов на простые сообщения.
Устранение неполадок
Как надо: предоставляйте помощь
Если ваш бот не может выполнить запрос, дайте пользователю возможность научиться взаимодействию с ботом.
Как не надо: не бросайте пользователей в беде
Люди быстро перестанут общаться с ботом, если не смогут устранить его неполадки.
Сложные взаимодействия
Как надо: используйте модули задач или вкладки
Если бот предоставляет ответ, требующий выполнения еще нескольких действий, вы можете для завершения действия или последовательности действий предоставить ссылку на модуль задач или вкладку.
Как не надо: не делайте взаимодействие с несколькими поворотами утомительными
Если пользователю для выполнения одной задачи приходится вести пространные беседы, это слишком долго и сложно. Кроме того, разработчик должен учитывать изменения состояния (например, когда время беседы истекло или пользователь отправил сообщение «Отмена»).
Конфиденциальность
Как надо: показывать конфиденциальную информацию только в личном контексте
Если бот находится в групповом чате или канале, для просмотра конфиденциальной информации рекомендуется направлять пользователей в приватное расположение (например, модуль задач, вкладку или браузер).
Как не надо: некоторые данные предназначены не для всех
Бот не должен раскрывать конфиденциальную информацию группе людей.
См. также
Вот еще рекомендации, которые могут быть полезными при разработке бота:
Как сделать чат-бота своими руками
По результатам исследования Google, 65% клиентов предпочитают не звонить, а писать компаниям, чтобы уточнить детали или сделать заказ. Кроме того, людям удобно пользоваться чат-ботами, потому что с ними можно не стесняться и узнать ответы на вопросы, которые живому консультанту задать было бы неловко. К такому выводу пришла команда Kia после 6 месяцев работы их онлайн-помощника.
Готовы перенимать опыт крупных компаний и создать свой первый чат-бот? Тогда вооружайтесь терпением, идеями, временем и внимательно читайте инструкции Дарины Даниленко, СЕО Why.Agency — агентства, которое помогает бизнесам строить коммуникацию через чат-боты.
В конце мы поделимся ссылкой на простой демобот, сделанный по этому гайду.
С чего начать создание чат-бота?
Дарина:
«Боты состоят из заранее продуманных сценариев. Кроме обычных сервисных ботов, которые могут сообщать, что ваша еда уже в пути, можно создавать целую вселенную, общаться с клиентами, лучше узнавать их запросы — и использовать это в дальнейшей коммуникации.
Чтобы сделать чат-бота в большинстве популярных мессенджеров, не обязательно быть программистом — понимания бизнес-процессов будет достаточно.
Я всегда советую начать с создания смысла: определите, чем ваш бот будет полезен клиентам и бизнесу. Какие задачи вы ставите перед этой сущностью? И только потом прописывайте логику бота, работайте над его сценарием и реализацией.
В статье идет речь о медийных ботах, но эта инструкция применима к любому помощнику в мессенджерах».
Вспомогательные сервисы
Сегодня мы попробуем создать чат-бот на pipe.bot, который позволяет оформлять карты в майндмэпах от coggle.it.
Обе площадки доступны в платной и бесплатной версии. Объема функций free trial достаточно для того, чтобы сделать двух простых ботов.
Разберем весь процесс поэтапно на примере создания помощника в Telegram.
Подготовка
Регистрируемся на упомянутых выше сервисах. Дальше:
#1. Заходим в бот @botfather.
#2. Следуя инструкциям, создаем бота.
#3. Копируем токен, который дает @botfather.
#4. Подключаем свежесозданный бот к Pipe: вводим токен на сайте https://pipe.bot.
#5. Cвязываем его с сайтом https://coggle.it.
#6. Если вы уже создали карту в Coggle, можно сразу ее привязать. Если нет, вернитесь к этому шагу позже.
Чтобы объединить карты из Coggle и Pipe, зайдите в Pipe и выберите нужную папку с картами. После этого нажмите Connect.
Главные знания и формулы
Наш чат-бот состоит из сценариев — определенной логики взаимодействия пользователя с помощником, продуманного на несколько шагов, и вариантов развития диалога. Под «капотом» у каждого сценария — карта вопросов-ответов, созданная в Coggle.
Вот базовые команды, с которыми вы будете работать:
Метки @start и @end — с них начинается и ими заканчивается каждый сценарий. @start — это сигнал для бота о том, что взаимодействие началось, @end используем для завершения конкретного сценария или всего диалога.
В рамках одного бота могут существовать несколько сценариев или активностей.
Обычное сообщение — это то, что бот пришлет человеку. Для его создания дополнительные знаки не нужны.
//Ответ — это кнопка в боте, которая будет выступать в качестве реплики вашего клиента. Перед ней должны стоять две черточки.
@link — метка. С ее помощью можно определять, на каком этапе взаимодействия пользователь «отпал», путешествовать по боту и переключать разные ветки сценария.
%colour — переменная. Это определенное качество, по которому мы можем оценить пользователя, добавить его в базу. Например, если у вас бот зоомагазина, то с помощью этой метки можно разбить пользователей на владельцев собак, кошек и хомячков.
%colour=red — значение переменной. То есть какое это явление. %Colour=red — читать как «его цвет — красный».
%%name — открытый ответ. При стандартном взаимодействии пользователь может только нажимать на кнопки, отвечая по заданному вами сценарию. Если же нужно получить какую-то личную информацию — например, имя или адрес доставки, — нужно создать для пользователя возможность вводить текст. С этой командой значение переменной введет сам пользователь.
@mapНазвание карты — это команда для вызова другой карты. Важно! Чтобы все работало, название карты нужно указывать точно так, как вы ее назвали — проще всего скопировать и вставить этот текст.
Не всегда для полноценного бота достаточно одной карты — если у вас подробный сценарий, то чтобы не заблудиться в нем, удобнее будет сделать несколько карт и переводить пользователя по ним внутри бота. Название карты можно копировать с центрального сообщения в Coggle.
Создаем первую карту
Зайдите на Coggle, создайте свою первую папку и назовите ее. В названиях лучше использовать смайлики — когда папок и карт станет много, это поможет различать их между собой и удобно переключаться между ними.
Теперь создайте свою первую карту.
Вы видите первый прямоугольный блок — здесь внутри нужно ввести название карты. Оно может быть написано на любом языке — главное, чтобы вы сами понимали, о чем речь. Это техническая информация, которую пользователи видеть не будут.
Перед названием также советуем использовать эмодзи. Они помогают не потеряться в дальнейшем.
Лайфхак: есть типы карт, для которых лучше использовать универсальные эмодзи:
✅ Root
👋 Onboarding
🛠 Menu
Этап 1: Начало сценария
Начните свою карту с метки @start — это позволит вам возвращать пользователей в начало карты и корректно переводить из одной карты в другую.
Теперь вы можете ввести первое сообщение. Добавьте новую ветку от метки @start.
Введите сообщение. У Coggle есть ограничение по символам — не более 120 знаков в одном сообщении. При необходимости это правило можно обойти. Если вам все же нужно больше текста — используйте команду %text = сообщение.
Простейший сценарий онбординга будет выглядеть так:
В этом сценарии бот представляется человеку, спрашивает его имя и узнает о желании обучаться. Всех, кто прошел этот этап, бот отмечает отдельной функцией — %onboarding=true.
Метки и переходы
Между ветвями сценария могут быть метки. Они добавляются с помощью команды @link, называть их можно как угодно, но одним словом. Желательно, чтобы название соответствовало контексту метки — зачем вы ставите ее именно здесь и что хотите отследить на этом этапе.
Чтобы перебросить человека в вашу метку:
#1. Выберите сообщение, из которого она будет перепрыгивать.
#2. Нажмите на него правой кнопкой мыши.
#3. Удерживая мышку, нажмите Shift. Вместо значка с горизонтальным ромбом появится пунктирная линия.
#4. Выберите пунктирную линию.
#5. Перетащите до метки, тяните прямо на название.
Открытые вопросы
В боте вы можете не только использовать кнопки, но и задавать открытые вопросы. Например, узнать, как зовут человека, какое у него мнение по определенному вопросу, или получить от него личную информацию — возраст, рост, должность, семейное положение — то, что необходимо вашему бизнесу.
Чтобы человек мог ввести ответ — используйте команду %% …. Например, %%name, %%position, %%strangeAnimal.
Переменная такого человека будет записываться следующим образом: %name=Роман.
Расставляйте переменные между ветвями сценария, чтобы понять, как далеко человек прошел по сюжету. Например, %onboarding=true — это значит, что пользователь закончил обучающую часть или знакомство с ботом.
С помощью таких меток вы сможете отследить, какие темы человек просмотрел, а где — застрял.
Весь бизнес-контент в удобном формате. Интервью, кейсы, лайфхаки корп. мира — в нашем телеграм-канале. Присоединяйтесь!
Лайфхак: как правильно организовать структуру бота
Если вы попытаетесь изложить обширную тему в одном сценарии, то карта станет слишком большой, а в метках и переходах можно будет потеряться.
Чтобы этого не происходило, нужно использовать прием «Карта в картах» и дробить каждый отдельный этап общения на одну карту. После того как вы создали все карты, соединяем их в одну, основную.
Чтобы перебросить человека из одной карты на другую — введите команду @mapНазвание карты.
Проверьте, чтобы в команде не было лишних пробелов или дополнительных знаков, иначе она не будет читаться.
Легче всего потренироваться с «картами в картах» в меню. Вот как выглядит типичное меню любого бота.
С помощью карт в картах вы можете создать общую логику бота.
Вот так выглядит наиболее простой вариант. Здесь написано: если человек прошел онбординг — перебросьте его в меню, если не прошел — переведите в онбординг.
Как это работает в реальности?
Чтобы не быть голословным, автор прошел с вами от начала и до конца весь процесс создания чат-бота. Потестировать простейший бот в три шага, построенный на одной карте, и убедиться, что он работает, можно здесь: t.me/DemoLabaBot.
Хотите получать дайджест статей?
Одно письмо с лучшими материалами за неделю. Подписывайтесь, чтобы ничего не упустить.
Спасибо за подписку!
Последние материалы
Из Кремниевой долины в Киев: история СЕО UNIT.CityДоминик Пиоте — о рынке инноваций в Украине.
Топ-10 конференций этой осениЛучшие конференции мира по бизнесу и маркетингу.
24 сервиса аналитики для маркетологаМаркетинг не для котиков, а для цифр.
как он работает и как сделать без программиста
Конструкторы стоят в среднем 10 долларов за одного бота в месяц. Есть и бесплатные, и более дорогие сервисы. У некоторых конструкторов стоимость зависит от числа пользователей или сложности диалогов.
Самостоятельное создание чат-бота можно условно разделить на пять этапов.
Этап 1. Определите, где будет находиться чат-бот
Это мессенджер, диалоговое окно на сайте, отдельная страница. На российском рынке наиболее популярны мессенджер социальной сети «ВКонтакте» и WhatsApp — многие начинают внедрение чат-ботов именно с них.
Этап 2. Опишите цели чат-бота
К какому действию он должен подвести пользователя? Примеры: получить информацию, оформить заказ на товар, добавить товар в лист ожидания. Возможно, алгоритм должен сообщить пользователю о скидках, акциях, появлении товара на складе, ответить на вопросы.
Чтобы ответить на первые два вопроса плана, нужно проанализировать аудиторию. Нужно определить, откуда приходят клиенты, какие вопросы они задают, что их интересует, где и как они предпочитают коммуницировать с вашими менеджерами, почему уходят.
Этап 3. Спроектируйте чат-бота
Нужно определить логику алгоритма и последовательность действий. Итоговую структуру можно описать в виде последовательной (блочной, или древовидной) схемы сообщений.
Простая схема чат-бота. Источник: SimpleTexting. Инфографика: Майя Мальгина / Skillbox MediaНа этом этапе нужно обратить внимание на то, в каком тоне чат-бот общается с клиентами. Сервис доставки еды и похоронное бюро будут использовать разные стили. Текстовые сообщения можно дополнить кнопками, смайликами, анимацией и иллюстрациями.
Этап 4. Выберите конструктор чат-бота
На рынке есть как англоязычные, так и русскоязычные сервисы. Конструкторы различаются набором функций, возможностью интеграций и тем, для каких платформ они создают чат-ботов. Вам нужно подобрать подходящий в зависимости от ваших задач.
Приведём некоторые примеры:
У Facebook Messenger, Slack и Telegram есть собственные платформы для создания ботов. Они бесплатные, но несколько сложнее классических коммерческих конструкторов.
Для общения с пользователем чат-бот должен откуда-то брать данные: о заказах, товарах, статусе доставки и так далее. Для этого алгоритм интегрируют со сторонними сервисами, которые хранят такие данные. Это, например, «Мой склад», «Google Таблицы», «Google Календарь», Bitrix24 или даже Instagram. При выборе конструктора нужно учитывать, что он должен работать с сервисом, которым пользуетесь вы.
Также боту может потребоваться интеграция с бэкенд-системами, чтобы он мог подключиться к нужному мессенджеру. Если вы раньше этим не занимались, то лучше взять конструктор, в котором ничего из сторонних сервисов подключать не нужно.
Ещё следует обратить внимание:
- на интуитивно понятную настройку аккаунта и ботов;
- оперативную поддержку на случай, если чат-бот перестанет отвечать;
- функцию сохранения информации о клиентах;
- адекватную вашим задачам цену;
- большую библиотеку шаблонов;
- возможность развернуть приложение в облаке;
- в идеале — работу без обязательных сторонних интеграций;
- бесплатную пробную версию.
Этап 5. Откорректируйте бота после тестового периода
Когда бот проработает хотя бы месяц, попробуйте его улучшить. Для этого:
- Проанализируйте, как клиенты используют чат-бота. Что они ищут? Как вы можете адаптировать бота к их потребностям?
- Обратите внимание на слова и фразы, которые бот не распознал. Обычно алгоритмы сохраняют эти данные. Если какая-то фраза встречается много раз, её можно внести в диалог.
- Изучите, какие именно пользователи вступают в диалог с чат-ботом, как они с ним общаются. Возможно, чат-боту стоит сменить тон.
Как создать чат-бот для Telegram-канала — инструкция для администраторов
Как регулярно вести Telegram-канал и не тратить на публикации половину рабочего дня? Я подготовила советы, которые пригодятся и SMM-специалистам, и авторам личных каналов. Все начинается с ControllerBot. Это один из самых полезных инструментов для администраторов каналов в Telegram. Установите бот, потому что с его помощью удобно:
- смотреть базовую статистику;
- планировать отложенные посты;
- форматировать текст;
- добавлять визуал;
- прикреплять к постам реакции и встроенные URL-кнопки.
Как настроить чат-бот
Перейдите в чат с ботом ControllerBot, нажмите /start. Затем задайте команду /addchannel и выполните простую пошаговую инструкцию по подключению бота.
Перейдите в диалог с ботом BotFather.
Нажмите /start и выберите команду /newbot.
Придумайте своему боту имя (оно будет отображаться в диалоговом списке) и юзернейм (уникальное имя, которое заканчивается на «bot» и пишется через @)
Вы получите токен. Теперь скопируйте его, перешлите в чат с ControllerBot и выполните одно из условий по добавлению канала (например, можно просто скинуть боту ник вашего канала).
Готово: вы создали бота. Добавьте его в администраторы канала. И обязательно укажите свой город, чтобы бот настроил часовой пояс и смог управлять отложенными постами.
{«0»:{«lid»:»1573230077755″,»ls»:»10″,»loff»:»»,»li_type»:»em»,»li_name»:»email»,»li_ph»:»Email»,»li_req»:»y»,»li_nm»:»email»},»1″:{«lid»:»1596820612019″,»ls»:»20″,»loff»:»»,»li_type»:»hd»,»li_name»:»country_code»,»li_nm»:»country_code»}}
Истории бизнеса и полезные фишки
Как использовать чат-бот в управлении каналом
1. Создать пост
Нажмите на команду /создать пост.
Затем выберите канал (в моем случае это Netpeak).
Поле отправки сообщения, бот предложит вам несколько функций.
Воспользуйтесь привычными горячими клавишами для форматирования текста прямо в диалоговом окне:
- жирный шрифт — «Ctrl+B»;
- курсив — «Ctrl+I»;
- залинковать ссылку — «Ctrl+K».
2. Добавить изображение
Нажмите на команду /прикрепить медиафайл и отправьте боту фото либо гифку (не обязательно сохранять изображение, можно его скопировать и вставить).
Если вдруг вам не понравилось, как выглядит пост с конкретным изображением, его всегда можно изменить. Нажмите на команду /открепить медиафайл и проделайте все заново.
3. Добавить реакции к посту
Кликните по команде /добавить реакции и выберите эмоджи (не более шести на один пост, разделяя каждый через /). Посмотрите, как визуально улучшилось оформление поста.
После публикации вы увидите рядом с каждым постом эмоджи для голосования и количество кликов по ним от пользователей.
4. Добавить URL-кнопки
Выберите команду /добавить URL-кнопки и отправьте боту текстовое сообщение со ссылками, разделенные дефисом «-». Вот так это будет выглядеть.
После нажатия на кнопку подписчик попадет на указанный сайт.
5. Опубликовать пост
После подготовки поста нажмите «Далее».
Вы увидите меню с несколькими вариантами публикации:
- «Опубликовать» — при нажатии на команду пост публикуется в ваш канал сразу же после повторного подтверждения, это страхует от случайных публикаций недоработанных черновиков;
- «Задать таймер для удаления» — укажите количество часов, через которое пост автоматически удалится;
- «Отложить» — тот самый любимый отложенный постинг в любой день и время.
- «Редактируем опубликованный пост» — если после публикации вы обнаружили опечатку или некорректную ссылку, вызовите бота и в меню нажмите «Редактировать». После этого перешлите боту сообщение, которое нужно отредактировать. Отправьте исправленный вариант поста, сохраните изменения и пост автоматически обновится.
6. Посмотреть статистику
Выберите команду «Статистика» и нажмите на название канала.
Бот покажет количество подписавшихся/отписавшихся пользователей за месяц и за неделю.
Готово! Теперь вы умеете самостоятельно создавать собственного бота в Telegram. Если возникнут вопросы, с радостью отвечу в комментариях.
{«0»:{«lid»:»1531306243545″,»ls»:»10″,»loff»:»»,»li_type»:»nm»,»li_name»:»name»,»li_ph»:»Имя»,»li_req»:»y»,»li_nm»:»name»},»1″:{«lid»:»1573230091466″,»ls»:»20″,»loff»:»»,»li_type»:»ph»,»li_name»:»phone»,»li_req»:»y»,»li_masktype»:»a»,»li_nm»:»phone»},»2″:{«lid»:»1573567927671″,»ls»:»30″,»loff»:»y»,»li_type»:»in»,»li_name»:»surname»,»li_ph»:»Фамилия»,»li_req»:»y»,»li_nm»:»surname»},»3″:{«lid»:»1531306540094″,»ls»:»40″,»loff»:»»,»li_type»:»in»,»li_name»:»domains»,»li_ph»:»Адрес сайта»,»li_rule»:»url»,»li_req»:»y»,»li_nm»:»domains»},»4″:{«lid»:»1573230077755″,»ls»:»50″,»loff»:»»,»li_type»:»em»,»li_name»:»email»,»li_ph»:»Email»,»li_req»:»y»,»li_nm»:»email»},»5″:{«lid»:»1575903646714″,»ls»:»60″,»loff»:»»,»li_type»:»hd»,»li_name»:»comment»,»li_value»:»Автоматический коммент: заявка из блога, без пользовательского комментария»,»li_nm»:»comment»},»6″:{«lid»:»1575903664523″,»ls»:»70″,»loff»:»»,»li_type»:»hd»,»li_name»:»lead_channel_id»,»li_value»:»24″,»li_nm»:»lead_channel_id»},»7″:{«lid»:»1584374224865″,»ls»:»80″,»loff»:»»,»li_type»:»hd»,»li_name»:»ip»,»li_nm»:»ip»},»8″:{«lid»:»1609939499483″,»ls»:»90″,»loff»:»»,»li_type»:»hd»,»li_name»:»post_id»,»li_nm»:»post_id»}}
Найти клиентов
в Telegram
Как создать бота. Pyrus Help
Важно: создавать ботов может только пользователь с правами Управляющего.
Чтобы настроить бота, перейдите в раздел Боты.
Чтобы создать бота, нажмите Добавить нового бота.
Во всплывающем окне задайте конфигурацию бота:
Имя — придумайте любое название бота;
URL — введите адрес страницы на вашем сайте. На этой странице должен располагаться код обработчика событий — когда происходит событие бота, Pyrus делает запрос по этому адресу. Разрешены только HTTPS-адреса.
Нажмите кнопку Добавить. Pyrus сформирует параметры нового бота и покажет их во всплывающем окне:
Логин — логин для бота в формате bot@<guid>.
Секретный ключ нужен для вызовов API — используется для подписи каждого вызова и гарантирует, что вызовы делаются от имени Pyrus.
После добавления бот будет доступен в разделе Боты. Чтобы изменить конфигурацию бота, откройте его профиль — нажмите на соответствующую кнопку.
Здесь боту можно задать Дополнительные права. Права Управляющего подойдут, если нужен доступ к редактированию справочников. Права Руководителя понадобятся для сбора статистики через приложение Pyrus Sync.
Параметры сценария для бота можно задать в поле Настройки прямо в его профиле. Это может быть текст смс или электронного письма, которое он будет отправлять при опредёленном событии, имя поля формы или, например, JSON-объект.
Поставить бота на паузу можно, просто передвинув переключатель в положение Отключено.
В строке Секретный ключ можно изменить значение ключа безопасности — для этого нажмите Сбросить. Это нужно, если вы подозреваете, что текущий ключ безопасности скомпрометирован. После сброса ключа злоумышленник не сможет получить новый токен со старым ключом. При этом настроенные раньше боты будут работать, как и прежде.
Также в профиле бота вы можете отслеживать отклонения его действий от заданного сценария — ошибки. Они отображаются в Журнале событий внизу страницы.
Если нужно заблокировать бота, нажмите Заблокировать. При удалении бот пропадает из списка, а соответствующий ему неактивированный пользователь блокируется (его можно будет видеть в списке Заблокированы в разделе Пользователи).
Если восстановить заблокированного пользователя-бота, все настройки восстановятся в том виде, какими они были до блокировки. Можно блокировать и восстанавливать бота сколько угодно раз, ограничений нет.
Конфигурация бота
Конфигурация бота состоит из адреса для вызовов (URL), параметров Security Key, ClientId и свойства включен/выключен.
URL — адрес страницы на вашем сайте. На этой странице должен располагаться код обработчика событий. Когда задача переходит к боту, Pyrus делает запрос по этому адресу. Разрешены только HTTPS-адреса.
Требования к сертификату: сертификат HTTPS должен быть проверяем. Цепочка сертификатов должна прослеживаться до известного удостоверяющего центра.
Security Key и ClientId генерируются автоматически при создании бота и нужны для вызовов API. Ключ Security Key используется для подписи каждого вызова и гарантирует, что вызовы делаются от имени Pyrus.
Структура данных
POST-запрос
- Тело.
task — задача, в которой произошло событие. Формат этого поля совпадает с ответом API-запроса получения задачи.
task_id — номер задачи, в которой произошло событие. См. подробное описание структуры.
access_token — авторизационный токен. В течение 5 минут после вызова бот может выполнять запросы к Pyrus через PublicAPI, используя access_token для авторизации. Если на обработку вызова бота требуется больше 30 секунд, мы рекомендуем сразу вернуть код 200 без тела запроса, а по окончании вычислений создать комментарий в задаче, отправив запрос на добавление комментария через PublicAPI с использованием access_token.
{ "task_id":5600, "task":{/* task with comments */}, "access_token":"{token}" }
- Дополнительный заголовок X-Pyrus-Sig. Значение — строка, содержащая подпись сообщения для проверки того, что вызов бота выполнил Pyrus, а не кто-то другой. Для проверки подписи необходимо к телу запроса добавить секретный ключ и вычислить для получившейся строки HMAC-дайджест с использованием алгоритма SHA1. Смотрите реализацию проверки подписи на Python.
Дополнительный заголовок X-Pyrus-Retry. Значение — одно из трех: «1/3», «2/3» или «3/3». В числителе номер попытки, начиная с единицы, а в знаменателе — количество попыток (три попытки). Для первого вызова, который не является повтором, значение ставится «1/3».
Ответ: HTTP 2XX
При необходимости можно указать тело ответа. Тело ответа повторяет структуру запроса Pyrus API AddComment. Указывать авторизационный заголовок (Header Authorization) не нужно.
Что такое чат-бот? | Oracle Россия и СНГ
Преимущества чат-ботов для компаний и заказчиков
Чат-боты повышают операционную эффективность и обеспечивают экономию для компаний, а для их заказчиков и сотрудников предлагают дополнительные услуги и повышают удобство. С их помощью компаниям становится проще реагировать на самые разные запросы заказчиков и решать их проблемы. Соответственно, уменьшается необходимость в операторах.
Чат-боты позволяют предприятиям как обеспечить необходимый масштаб бизнес-деятельности, так и более персонализированное и проактивное взаимодействие, что является важным конкурентным преимуществом. Так, например, силами одних только своих сотрудников компания может единовременно обслуживать лишь ограниченное число людей. Чтобы быть экономически эффективной, компании, которая рассчитывает в основном на возможности человека, приходится использовать стандартизированные модели, что ограничивает применение индивидуального подхода и превентивных мер.
И наоборот, благодаря чат-ботам компании могут взаимодействовать с огромным количеством заказчиков в индивидуальном порядке. Масштаб их использования можно увеличивать или уменьшать в соответствии со спросом и потребностями бизнеса. Используя чат-боты, компании смогут предлагать персонализированные услуги миллионам заказчиков одновременно, а также предугадывать их потребности, причем почти так же, как это сделали бы живые сотрудники.
Согласно исследованиям потребителей, приложения для обмена сообщениями становятся предпочтительным способом общения с компаниями по определенным вопросам. Чат-боты реализованы на платформах обмена сообщениями, и обеспечиваемый ими уровень обслуживания и удобства в большинстве случаев выше, чем уровень, которого способен достигнуть человек. Например, банковские чат-боты в среднем отвечают на запрос на четыре минуты быстрее, чем оператор традиционного колл-центра. Те же возможности, которые помогают бизнесу достигать большей эффективности и снижать затраты, также оборачиваются преимуществами для заказчиков, так как повышают для них уровень удобства. Таким образом, это обоюдовыгодное предложение.
Как сделать чат-бота | Создание чат-бота
Существует множество способов создания чат-бота, которые делают это пространство настолько интересным, но создание чат-ботов не должно быть сложным процессом. Что важно, так это найти правильный тип чат-бота, который может сыграть важную роль в улучшении вашего бизнеса, обслуживания клиентов и маркетинговых кампаний.
Давайте рассмотрим, как создать чат-бота и что вам нужно учесть. Если вам нужно больше информации о чат-ботах, ознакомьтесь с нашим Руководством по чат-ботам, в котором подробно рассказывается обо всем, что касается чат-ботов.
Способы создания чат-бота
Давайте сначала обсудим инструменты разработки чат-ботов и то, как они соотносятся с типом чат-бота, который вы, возможно, захотите создать. Быстрый поиск в Google позволит вам увидеть, что существует множество платформ для чат-ботов. Однако основных способов создания чат-ботов всего три:
1. Создайте чат-бота с помощью Visual Tool
Первый — с помощью визуального инструмента. Эти инструменты созданы в первую очередь для создания ботов по сценариям. Эти инструменты, такие как Chatfuel, Motion.ai, Manychat, Flowxo и Octane.ai отлично подходят для создания простых скриптовых ботов.
Чтобы создать чат-бота с помощью этих инструментов, вам необходимо визуально определить поток разговора бота. Например, вам нужно будет определить, какие варианты выбора будет у пользователя на каждом этапе разговора, а затем определить, как бот будет реагировать, когда пользователь щелкает данный вариант. Вам нужно будет определить дальнейшие варианты выбора, которые он разрешит в этот момент, и так далее, пока взаимодействие не будет завершено или завершено пользователем.
Каждый из этих инструментов имеет несколько разную направленность, и некоторые из них позволяют настраивать больше, чем другие, включая «интеллектуальные» функции, например возможность реагировать на слово или фразу. Упор делается на простоту использования, а не на функциональность. Настоящие настраиваемые функции, необходимые для интеллектуальных ботов и ботов приложений, такие как настраиваемый искусственный интеллект, системная интеграция и настраиваемые графические интерфейсы, невозможны с использованием этих типов инструментов.
2. Как создать чат-бота с нуля
Второй способ создания чат-бота путем написания кода чат-бота.Это означает использование языка программирования и соответствующих инструментов и библиотек разработчика для создания чат-бота. Использование кода дает много преимуществ по сравнению с использованием визуального инструмента. Нет ограничений на настройку (в пределах возможностей чат-платформы), и процессом разработки можно управлять профессионально, используя все инструменты и подходы, существующие для разработки программного обеспечения, включая контроль версий и тестирование.
Если требуется настройка или интеграция с внутренними системами, лучшим выбором будет кодирование бота.Конечно, проблемы с созданием бота таким способом — это те же проблемы, что и при разработке любого программного обеспечения.
Для программирования программного обеспечения в целом требуется высокий уровень знаний. Хотя создание бота в коде не является особенно сложной задачей для разработчика программного обеспечения, для этого требуются определенные знания и понимание. С другой стороны, бот со сценарием может быть построен очень быстро на платформе без кода без каких-либо знаний.
Другая проблема заключается в том, что разработчики программного обеспечения могут снова и снова писать общие функции с нуля, дублируя усилия, особенно когда нет хорошего источника общих стандартных компонентов.Это приводит к большим потерям усилий и потенциально неоптимальным решениям общих проблем.
Разработчики, особенно когда их заставляют сокращать работу из-за нехватки времени, могут в конечном итоге получить архитектуру и кодовую базу, которая не является расширяемой или даже простой в использовании.
Чат-бот, разработанный с помощью кода, может быть скриптовым ботом, интеллектуальным ботом или прикладным ботом.
3. Создание интеллектуальных чат-ботов
Интеллектуальные боты создаются с использованием искусственного интеллекта, включая инструменты понимания естественного языка, такие как Watson, DialogFlow, Wit.ai и Rasa NLU. Вам не нужно быть специалистом по данным, чтобы использовать эти инструменты, и некоторая работа может быть выполнена не разработчиками с использованием графического интерфейса. Однако необходим разработчик для интеграции инструмента естественного языка с действиями, которые будет выполнять бот.
Упомянутые выше инструменты позволяют разработчикам определять «намерение», связанное с фразой, которая произносится или записывается на естественном языке. Например, все следующие фразы предназначены для бронирования рейса.
- Я хочу забронировать рейс в Париж.
- Мне нужно ехать из Дубая в Париж.
- Мне нужен рейс в Париж из Дубая.
Разработчик сможет связать все приведенные выше фразы (и многие другие версии) с намерением BOOK_FLIGHT. Всякий раз, когда любая из этих фраз (и фразы, которые вычисляет инструмент NLU, являются связанными фразами) записываются или произносятся чат-боту, система NLU будет вызывать функцию в коде чат-бота с BOOK_FLIGHT в качестве параметра намерения. Затем разработчик добавит код, который действует в соответствии с намерением BOOK_FLIGHT.Система NLU также будет передавать другие соответствующие параметры, которые система NLU извлекла из разговора, такие как соответствующие аэропорты и соответствующие даты.
Важно отметить, что многие движки NLU в настоящее время предлагают только размещенное решение. Таким образом, как и в случае с решениями для разработки ботов без кода, с этими механизмами вы не сможете легко получить доступ к своим данным или управлять ими, реализовать контроль версий, повторно использовать работу между ботами или переключать системы.
Создание разговора
Точно так же, как вы разрабатываете графический интерфейс для приложения, чат-ботам нужен дизайн разговора.Это определит, насколько естественным будет ощущение взаимодействия с чат-ботом. Это все еще очень редкая дисциплина, и мы только начинаем видеть появление некоторых классов и руководств. Дизайн разговора — это сочетание психологии, UX-дизайна и копирайтинга. В текущем состоянии дизайна разговоров мы начинаем видеть появление некоторых передовых практик. Однако платформа, которую вы используете для создания своего чат-бота, или платформа обмена сообщениями, используемая в качестве канала, изменит то, как вы применяете эти передовые практики.
ПоначалуConversation Design может показаться простым, но на самом деле это непростая задача. Вы знаете, как вы иногда интерпретируете электронное письмо или текстовое сообщение из-за отсутствия визуальных подсказок? То же самое и с чат-ботами. Как дизайнер беседы, вы должны начать с того, чтобы лучше понять свою личность, прежде чем начинать, потому что это повлияет на то, как вы будете писать сообщения, чтобы поддерживать их заинтересованность. Вам необходимо разработать поток разговора, который поощряет очередность; вы не хотите, чтобы ваш пользователь смотрел разговор, не зная, что сказать или сделать дальше.
Вы можете узнать больше о дизайне разговоров на онлайн-курсе Conversation Design Institute, который поможет вам освоить это ремесло.
Данные для обучения вашего NLU
Это одна из самых сложных задач ИИ и, следовательно, НЛП. Создание, маркировка и поддержание чистого набора данных для обучения вашего NLU — сложная задача. Других способов поставить действительно нет. Вот почему на рынке есть множество инструментов, которые помогут вам управлять набором данных. Вы можете начать с малого. Некоторые NLU позволят вам начать работу с ограниченным набором данных, только с дюжиной высказываний для намерения, но по мере использования чат-бота вы получаете все больше и больше данных для маркировки и поддержки.
Ваш набор данных — самая важная часть вашего чат-бота. Он определит, может ли ваш NLU понять намерение, может ли извлекать сущности, может ли заполнять слот и многое другое. Это задача, к которой нельзя относиться легкомысленно. Наиболее частая проблема, с которой вы столкнетесь, — это сбой вашего NLU, и это может быть по разным причинам:
- Намерения слишком расплывчаты
- Подобные высказывания встречаются в нескольких намерениях
- Высказывания слишком подходят для определенного слова
- Отсутствие синонимов в ваших высказываниях
- Структуры ваших предложений всегда одинаковы
Вы можете прочитать наши рекомендации NLU, чтобы помочь создать отличный набор данных.
Используйте богатые компоненты в чат-ботах
Кодирование чат-бота также позволяет разработчикам включать сложные графические интерфейсы в поведение чат-бота. Эти интерфейсы можно использовать только в том случае, если чат-платформа позволяет их использовать. Например, в SMS невозможно добавить расширенные компоненты, поэтому с чат-ботом по SMS не будет ассоциироваться какой-либо изощренный графический виджет.
Некоторые платформы, такие как WeChat и Facebook Messenger, позволяют разработчикам размещать веб-представления в чате.Это означает, что нет ограничений на то, какой интерфейс может быть показан. Богатые компоненты часто намного более эффективны, чем текстовые интерфейсы для работы на настольных компьютерах и мобильных устройствах, и поэтому должны всегда использоваться, когда это дает конечному пользователю преимущество.
Лучший фреймворк для создания чат-бота
Botpress — это фреймворк, который позволяет разработчикам легко создавать ботов с помощью кода. Что отличает Botpress от других фреймворков для создания ботов с кодом, так это то, что он имеет компонентную архитектуру, которая допускает высокую степень повторного использования общих компонентов.Это означает, что общие функции ботов, такие как подписка или трансляция, не нужно создавать с нуля. Вместо этого соответствующий компонент может быть добавлен к боту или доступен через api, мгновенно предоставив ему необходимую функциональность. Однако эту функциональность можно дополнительно настроить, отредактировав исходный код рассматриваемого компонента. Таким образом, Botpress предоставляет все преимущества написания бота с нуля, но значительно ускоряет и упрощает создание ботов из-за повторного использования модулей кода.
Модульная архитектура не только выгодна с точки зрения обеспечения высокой степени повторного использования компонентов, но также полезна тем, что заставляет разработчиков использовать высоко расширяемую архитектуру передового опыта для создания своих ботов. Это также означает, что Botpress фактически стал промежуточным программным обеспечением для сторонних инструментов разработки чат-ботов, таких как Botkit и Microsoft Bot Framework.
Кроме того, Botpress представил инструменты, которые еще больше увеличивают продуктивность создателей ботов.Например, существует разделение ролей между теми, кто создает и управляет поведением бота (разработчики), и теми, кто создает и управляет контентом бота (создатели контента и персонал первой линии) и управляет учетными записями пользователей. Botpress имеет встроенные в структуру функции для управления этим разделением, такие как безопасность на основе ролей и многопользовательское управление. Botpress изобрел Universal Message Markdown, который является широко используемым языком разметки в пространстве ботов, чтобы решить эту проблему.
Конструктор чат-ботов
Третий способ создания чат-бота — использовать готовый инструмент. Очевидно, что это ограничивает вас функциональностью, разрешенной поставщиком. Скорее всего, это будет процесс настройки бота, а не его создание. Обычно такого рода решения нацелены на конкретную отраслевую вертикаль и предназначены для крупных предприятий. Эти предприятия способны оценить компромисс между удобством использования функций аутсорсинга и долгосрочными преимуществами, связанными с контролем над своими данными и лежащими в их основе процессами.
Как создать чат-бота: сводка
Вот и все! Теперь вы узнали самое важное, что вам нужно знать, чтобы начать свой новый бот-проект. Я надеюсь, что вы лучше понимаете шаги, необходимые для автоматизации разговоров.
Итак, есть много способов сделать своего собственного чат-бота. Методы создания ботов отражают методы, доступные для создания программного обеспечения в более общем плане. Существует четкая аналогия между созданием чат-бота и созданием веб-сайта.Можно создать веб-сайт, используя платформу без кода, такую как Wix, или запрограммировать его с нуля, используя HTML и CSS. Между этими двумя подходами находится подход WordPress, в котором веб-сайт создается из компонентов. Использование Botpress для создания бота эквивалентно использованию WordPress для создания веб-сайта.
Статьи по теме
Почему будущее за чат-ботами
Делаете ли вы какие-либо из следующих ошибок при создании чат-ботов?
Изучение будущего взаимодействия с клиентами с помощью ботов
Почему каждое агентство должно создавать ботов по обслуживанию клиентов для своих корпоративных клиентов
Что такое разговорный искусственный интеллект (AI)
Боты: введение для разработчиков
Боты — это сторонние приложения, которые работают внутри Telegram.Пользователи могут взаимодействовать с ботами, отправляя им сообщения, команды и встроенные запросы. Вы управляете своими ботами с помощью HTTPS-запросов к нашему Bot API.
1. Что можно делать с ботами?Чтобы назвать несколько вещей, вы можете использовать ботов для:
Получайте индивидуальные уведомления и новости . Бот может действовать как умная газета, рассылая вам релевантный контент, как только он будет опубликован.
Интеграция с другими сервисами .Бот может дополнять чаты Telegram контентом из внешних сервисов.
Gmail Бот , GIF-бот , IMDB-бот , Wiki-бот , Музыкальный бот , Youtube-бот , GitHubBotПринимать платежи от пользователей Telegram . Бот может предлагать платные услуги или работать как виртуальная витрина. Подробнее »
Demo Shop Bot , Demo StoreСоздание собственных инструментов .Бот может предоставлять вам оповещения, прогнозы погоды, переводы, форматирование или другие услуги.
Бот для разметки , Бот для стикеров , Голосовать за бот , Как ботСоздавайте однопользовательские и многопользовательские игры . Бот может предложить богатые возможности HTML5, от простых аркад и головоломок до 3D-шутеров и стратегических игр в реальном времени.
GameBot , GameeСоздание социальных служб .Бот может связывать людей, которые ищут партнеров для разговора на основе общих интересов или близости.
Практически все остальное . Кроме посуды — боты плохо моют посуду.
По сути, боты Telegram — это специальные учетные записи, для настройки которых не требуется дополнительный номер телефона. Пользователи могут взаимодействовать с ботами двумя способами:
- Отправляйте сообщения и команды ботам, открывая с ними чат или добавляя их в группы.
- Отправляйте запросы прямо из поля ввода, вводя @username бота и запрос. Это позволяет отправлять контент от встроенных ботов прямо в любой чат, группу или канал.
Сообщения, команды и запросы, отправляемые пользователями, передаются программному обеспечению, работающему на ваших серверах. Наш промежуточный сервер обрабатывает все шифрование и связь с Telegram API за вас. Вы общаетесь с этим сервером через простой HTTPS-интерфейс, который предлагает упрощенную версию Telegram API.Мы называем этот интерфейс нашим Bot API.
3. Как создать бота?Подробное описание Bot API доступно на этой странице »
Для этого есть… бот. Просто поговорите с BotFather (описанным ниже) и выполните несколько простых шагов. После того, как вы создали бота и получили токен авторизации, перейдите к руководству по API бота, чтобы узнать, чему вы можете научить своего бота.
4.Чем боты отличаются от людей?Вы также можете ознакомиться с некоторыми примерами кода здесь »
- У ботов нет статуса в сети и отметок времени последнего посещения, вместо этого в интерфейсе отображается метка «бот» .
- Боты имеют ограниченное облачное хранилище — старые сообщения могут быть удалены сервером вскоре после их обработки.
- Боты не могут инициировать разговоры с пользователями. Пользователь должен либо добавить их в группу, либо сначала отправить им сообщение. Люди могут использовать
t.me/
ссылок или поиск по имени пользователя, чтобы найти вашего бота. - Имена пользователей ботов всегда заканчиваются на «бот» (например, @TriviaBot, @GitHub_bot).
- При добавлении в группу боты по умолчанию не получают все сообщения (см. Режим конфиденциальности).
- Боты никогда не едят, не спят и не жалуются (если специально не запрограммировано иное).
5. Бонусы для ботов Боты
Telegram уникальны во многих отношениях — мы предлагаем два типа клавиатур, дополнительные интерфейсы для команд по умолчанию и глубокие ссылки, а также форматирование текста, интегрированные платежи и многое другое.
Встроенный режимПользователи могут взаимодействовать с вашим ботом с помощью встроенных запросов прямо из поля ввода текста в любом чате . Все, что им нужно сделать, это начать сообщение с именем пользователя вашего бота, а затем ввести запрос.
Получив запрос, ваш бот может вернуть некоторые результаты. Как только пользователь нажимает на один из них, он отправляется в текущий открытый чат пользователя. Таким образом, люди могут запрашивать контент у вашего бота в любом из своих чатов, групп или каналов.
Загляните в этот блог, чтобы увидеть в действии пример встроенного бота. Вы также можете попробовать ботов @sticker и @music, чтобы убедиться в этом сами.
Мы также реализовали простой способ для вашего бота переключаться между встроенным режимом и режимом PM.
Платежная платформаПодробнее о встроенном режиме »
Вы можете использовать ботов, чтобы принимать платежи от пользователей Telegram по всему миру.
- Отправляйте счета на в любой чат , в том числе по группам и каналам.
- Создание счетов-фактур, которые могут быть переадресованы, и использованы несколькими покупателями для заказа вещей.
- Используйте встроенный режим, чтобы помочь пользователям показывать ваши товары и услуги своим друзьям и сообществам.
- Разрешить чаевых от пользователей с предварительно установленными и настраиваемыми суммами.
- Принимать платежи от пользователей в мобильных или настольных приложениях .
- Попробуйте @ShopBot, чтобы создать тестовый счет — или начните сообщение с
@ShopBot ...
в любом чате для встроенного счета-фактуры . - Зайдите в демонстрационный магазин, чтобы увидеть пример канала Telegram, используемого в качестве виртуальной витрины .
Игровая платформаПодробнее о Платежной платформе »
Боты могут предложить своим пользователям HTML5 игр для игры в одиночку или для соревнований друг с другом в группах и индивидуальных чатах. Платформа позволяет вашему боту отслеживать рекордов, за каждую игру, сыгранную в каждом чате. Каждый раз, когда в игре появляется новый лидер, другие участники чата уведомляются о том, что им нужно активизировать его.
Поскольку базовой технологией является HTML5, игры могут быть любыми, от простых аркад и головоломок до многопользовательских 3D-шутеров и стратегических игр в реальном времени. Наша команда создала для вас несколько простых демонстраций:
Вы также можете проверить бота @gamee , у которого более 20 игр.
КлавиатурыПодробнее об игровой платформе »
Традиционных чат-ботов, конечно, можно научить понимать человеческий язык.Но иногда вам требуется более формальный ввод от пользователя — и именно здесь пользовательские клавиатуры могут стать чрезвычайно полезными.
Всякий раз, когда ваш бот отправляет сообщение, он может передать специальную клавиатуру с предопределенными параметрами ответа (см. ReplyKeyboardMarkup). Приложения Telegram, которые получают сообщение, будут отображать вашу клавиатуру для пользователя. Нажатие любой из кнопок немедленно отправит соответствующую команду. Таким образом, вы можете значительно упростить взаимодействие пользователя с вашим ботом.
В настоящее время мы поддерживаем текст и эмодзи для ваших кнопок. Вот несколько примеров пользовательской клавиатуры:
Встроенные клавиатуры и обновление на летуДля получения дополнительной технической информации о настраиваемых клавиатурах обратитесь к руководству по Bot API (см. SendMessage).
Бывают случаи, когда вы предпочитаете делать что-либо, не отправляя никаких сообщений в чат. Например, когда ваш пользователь меняет настройки или просматривает результаты поиска. В таких случаях вы можете использовать встроенные клавиатуры, которые интегрированы непосредственно в сообщения, которым они принадлежат.
В отличие от настраиваемых клавиатур для ответов, нажатие кнопок на встроенных клавиатурах не приводит к отправке сообщений в чат. Вместо этого встроенные клавиатуры поддерживают кнопки, которые работают за кулисами: кнопки обратного вызова, кнопки URL и переключение на встроенные кнопки.
Когда используются кнопки обратного вызова, ваш бот может обновлять свои существующие сообщения (или только свои клавиатуры), чтобы чат оставался аккуратным. Ознакомьтесь с этими примерами ботов, чтобы увидеть встроенные клавиатуры в действии: @music, @vote, @like.
Команды КомандыПодробнее о встроенных клавиатурах и редактировании «на лету» »
представляют собой более гибкий способ связи с вашим ботом.Может использоваться следующий синтаксис:
/ команда
Команда всегда должна начинаться с символа «/» и не может быть длиннее 32 символов. Команды могут использовать латинские буквы, цифры и символы подчеркивания. Вот несколько примеров:
/ get_messages_stats
/ set_timer 10мин будильник!
/ get_timezone Лондон, Великобритания
Сообщения, начинающиеся с косой черты, всегда передаются боту (вместе с ответами на его сообщения и сообщениями, которые @ упоминают бота по имени пользователя).Приложения Telegram будут:
- Предложите список поддерживаемых команд с описанием, когда пользователь вводит ‘/’ (для того, чтобы это работало, вы должны предоставить список команд для BotFather). Нажатие на команду в списке немедленно отправляет команду.
- Показывать дополнительную кнопку (/) в поле ввода во всех чатах с ботами. При нажатии на нее набирается ‘/’ и отображается список команд.
- Выделите / команды в сообщениях. Когда пользователь нажимает выделенную команду, команда отправляется сразу.
Если в группе несколько ботов, можно добавить имена пользователей ботов в команды, чтобы избежать путаницы:
/ start @ TriviaBot
/ start @ ApocalypseBot
Это делается автоматически, когда команды выбираются из списка предложений. Помните, что ваш бот должен уметь обрабатывать команды, за которыми следует его имя пользователя.
Глобальные командыЧтобы упростить пользователям навигацию по мультивселенной ботов, мы просим всех разработчиков поддерживать несколько основных команд.В приложениях Telegram будет ярлык интерфейса для этих команд.
- / start — начинает взаимодействие с пользователем, например, отправляя приветственное сообщение. Эту команду также можно использовать для передачи боту дополнительных параметров (см. Глубинные ссылки)
- / help — возвращает справочное сообщение. Это может быть краткий текст о том, что может делать ваш бот, и список команд.
- / settings — (если применимо) возвращает настройки бота для этого пользователя и предлагает команды для редактирования этих настроек.
Пользователи увидят кнопку Start , когда они впервые начнут беседу с вашим ботом. Справка и настройки Ссылки будут доступны в меню на странице профиля бота.
Форматирование: полужирный, курсив, текст фиксированной ширины и встроенные ссылкиВы можете использовать полужирный, курсив или текст фиксированной ширины, а также встроенные ссылки в сообщениях ваших ботов. Клиенты Telegram будут отображать их соответственно.
Режим конфиденциальностиПодробнее читайте в руководстве по Bot API »
Ботов часто добавляют в группы, чтобы улучшить общение между пользователями-людьми, например.грамм. путем предоставления новостей, уведомлений от внешних служб или дополнительных функций поиска. Это особенно актуально для групп, связанных с работой. Теперь, когда вы делитесь группой с ботом, вы склонны спрашивать себя: «Как я могу быть уверен, что этот маленький негодяй не продает мою историю чата моим конкурентам?» Ответ — режим конфиденциальности .
Бот, работающий в режиме конфиденциальности, не будет получать все сообщения, которые люди отправляют группе. Вместо этого он получит только:
- Сообщения, начинающиеся с косой черты ‘/’ (см. Команды выше)
- Ответы на собственные сообщения бота
- Служебные сообщения (люди, добавленные или удаленные из группы и т. Д.)
- Сообщения из каналов, в которых он участвует
С одной стороны, это помогает некоторым из нас лучше спать по ночам (в наших колпаках из фольги), с другой — позволяет разработчикам ботов экономить много ресурсов, поскольку им не нужно обрабатывать десятки тысяч неактуальных сообщения каждый день.
Режим конфиденциальности включен по умолчанию для всех ботов, кроме ботов, которые были добавлены в группу как администраторы (администраторы ботов всегда получают все сообщения). Его можно отключить, чтобы бот получал все сообщения, как обычный пользователь (боту нужно будет повторно добавить в группу, чтобы это изменение вступило в силу).Мы рекомендуем делать это только в тех случаях, когда для работы вашего бота это абсолютно необходимо — пользователи всегда могут видеть текущие настройки конфиденциальности бота в списке участников группы. В большинстве случаев использования опции принудительного ответа для сообщений бота более чем достаточно.
Итак, какие именно сообщения будет получать мой бот? »
Глубокие ссылкиTelegram-боты имеют механизм глубоких ссылок, который позволяет передавать дополнительные параметры боту при запуске. Это может быть команда, запускающая бота, или токен аутентификации для подключения учетной записи Telegram пользователя к его учетной записи на какой-либо внешней службе.
У каждого бота есть ссылка, открывающая с ним беседу в Telegram — https://t.me/
. К этой ссылке можно добавить параметры start или startgroup со значениями длиной до 64 символов. Например:
https://t.me/triviabot?startgroup=test
A-Z
, a-z
, 0-9
, _
и -
разрешены. Мы рекомендуем использовать base64url для кодирования параметров с двоичным и другими типами содержимого.
Переход по ссылке с параметром start откроет индивидуальный диалог с ботом, показывая кнопку СТАРТ вместо поля ввода. Если используется параметр startgroup , пользователю предлагается выбрать группу для добавления бота. Как только пользователь подтверждает действие (нажимает кнопку СТАРТ в своем приложении или выбирает группу для добавления бота), ваш бот получит сообщение от этого пользователя в следующем формате:
/ начало PAYLOAD
PAYLOAD
— это значение параметра start или startgroup , переданного в ссылке.
Предположим, сайт example.com хочет отправлять уведомления своим пользователям через бота Telegram. Вот что они могут сделать, чтобы включить уведомления для пользователя с идентификатором 123
.
- Создайте бота с подходящим именем пользователя, например @ExampleComBot
- Настроить веб-перехватчик для входящих сообщений
- Сгенерировать случайную строку достаточной длины, например
$ memcache_key = "vCh2vGWJxfSeofSAs0K5PA"
- Поместите значение
123
с ключом$ memcache_key
в Memcache на 3600 секунд (один час) - Покажем нашему пользователю кнопку
https: // t.меня / ExampleComBot? start = vCh2vGWJxfSeofSAs0K5PA
- Настройте процессор веб-перехватчиков для запроса Memcached с параметром, который передается во входящих сообщениях, начиная с
/ start
. Если ключ существует, запишите chat_id, переданный веб-перехватчику, как telegram_chat_id для пользователя123
. Удалите ключ из Memcache. - Теперь, когда мы хотим отправить уведомление пользователю
123
, проверьте, есть ли у него поле telegram_chat_id .Если да, используйте метод sendMessage в API ботов, чтобы отправить им сообщение в Telegram.
Некоторым ботам для правильной работы требуются дополнительные данные от пользователя. Например, знание местоположения пользователя помогает получить более релевантные географические результаты. Номер телефона пользователя может быть очень полезен для интеграции с другими сервисами, такими как банки и т. Д.
Боты могут запрашивать у пользователя его местонахождение и номер телефона с помощью специальных кнопок.Обратите внимание, что кнопки и номера телефона, и кнопки запроса местоположения будут работать только в приватных чатах.
При нажатии этих кнопок клиенты Telegram отображают подтверждающее уведомление, которое сообщает пользователю, что должно произойти.
Руководство: Цифровые и позиционные кнопки »
6. BotFather
Вверх, чтобы узнать все о ботах Telegram »
BotFather — единственный бот, который правит ими всеми. Это поможет вам создать новых ботов и изменить настройки существующих.
Создание нового ботаИспользуйте команду / newbot , чтобы создать нового бота. BotFather запросит у вас имя и имя пользователя, а затем сгенерирует токен авторизации для вашего нового бота.
Имя вашего бота отображается в контактных данных и в других местах.
Имя пользователя — это короткое имя, которое используется в упоминаниях и ссылках на t.me. Имена пользователей состоят из 5–32 символов и нечувствительны к регистру, но могут включать только латинские символы, числа и символы подчеркивания.Имя пользователя вашего бота должно заканчиваться на на «бот», например tetris_bot или TetrisBot.
Токен представляет собой строку, аналогичную строке 110201543: AAHdqTcvCh2vGWJxfSeofSAs0K5PALDsaw
, которая требуется для авторизации бота и отправки запросов в API бота. Держите свой токен в безопасности и храните его в безопасности, он может использоваться кем угодно для управления вашим ботом.
Если ваш существующий токен скомпрометирован или вы потеряли его по какой-либо причине, используйте команду / token для создания нового.
Botfather командуетОстальные команды говорят сами за себя:
- / mybots — возвращает список ваших ботов с удобными элементами управления для редактирования их настроек
- / mygames — делает то же самое для ваших игр
Редактировать ботов
- / setname — измените имя вашего бота.
- / setdescription — изменить описание бота , короткий текст до 512 символов, описывающий вашего бота.Пользователи увидят этот текст в начале разговора с ботом, озаглавленный «Что умеет этот бот?».
- / setabouttext — изменить бота на информацию , еще более короткий текст до 120 символов. Пользователи увидят этот текст на странице профиля бота. Когда они делятся вашим ботом с кем-то, этот текст отправляется вместе со ссылкой.
- / setuserpic — изменить фото профиля бота. Всегда приятно поменять имя на лицо.
- / setcommands — изменить список команд, поддерживаемых вашим ботом.Пользователи будут видеть эти команды как предложения, когда они набирают
/
в чате с вашим ботом. Каждая команда имеет имя (должно начинаться с косой черты ‘/’, буквенно-цифровое значение плюс подчеркивание, не более 32 символов, без учета регистра), параметры и текстовое описание. Пользователи будут видеть список команд всякий раз, когда они набирают ‘/’ в разговоре с вашим ботом. - / deletebot — удалите своего бота и освободите его логин.
Изменить настройки
- / setinline — переключить встроенный режим для вашего бота.
- / setinlinegeo — запросить данные о местоположении для предоставления встроенных результатов на основе местоположения.
- / setjoingroups — переключить, можно ли добавлять вашего бота в группы или нет. Любой бот должен иметь возможность обрабатывать личные сообщения, но если ваш бот не предназначен для работы в группах, вы можете отключить это.
- / setprivacy — установить, какие сообщения будет получать ваш бот при добавлении в группу. Если режим конфиденциальности отключен, бот будет получать все сообщения.Мы рекомендуем оставить режим конфиденциальности включенным. Вам нужно будет повторно добавить бота в существующие группы, чтобы это изменение вступило в силу.
Управление играми
- / newgame — создать новую игру.
- / listgames — получить список ваших игр.
- / editgame — редактировать игру.
- / deletegame — удалить существующую игру.
Предупреждения о состоянииОбратите внимание, что может потребоваться несколько минут , чтобы изменения вступили в силу.
миллионов выбирают Telegram за его скорость. Чтобы оставаться конкурентоспособным в этой среде, ваш бот также должен быть отзывчивым. Чтобы помочь разработчикам поддерживать своих ботов в форме, Botfather отправляет оповещения о статусе, если видит, что что-то не так.
Мы будем проверять количество ответов и коэффициент конверсии запросов / ответов для популярных ботов (~ 300 запросов в минуту: но не записывайте это, поскольку значение может измениться в будущем).Если мы получим аномально низкие показания, вы получите уведомление от Botfather.
Ответ на предупрежденияПо умолчанию вы будете получать только одно предупреждение на одного бота в час. Каждое предупреждение имеет следующие кнопки:
- Фиксированный. Используйте это, если вы обнаружили проблему с ботом и устранили ее. Если вы нажмете кнопку исправления, мы возобновим отправку предупреждений в обычном режиме, чтобы вы могли видеть, сработало ли исправление в течение 5–10 минут, вместо того, чтобы ждать час.
- Поддержка. Используйте это, чтобы открыть чат с @BotSupport, если вы не видите проблем с ботом или считаете, что проблема на нашей стороне.
- Без звука на 8 часов / 1 нед. Используйте это, если вы не можете исправить своего бота в данный момент. Это отключит все предупреждения для рассматриваемого бота за указанный период времени. Мы не рекомендуем использовать эту опцию, так как ваши пользователи могут перейти на более стабильный бот. Вы можете включить оповещения в настройках своего бота через Botfather.
В настоящее время мы будем уведомлять вас о следующих проблемах:
1.
Слишком мало ** личных сообщений ** отправлено по сравнению с предыдущими неделями: ** {value} **
Ваш бот отправляет гораздо меньше сообщений, чем в предыдущие недели. Это полезно для ботов в стиле новостной рассылки, которые рассылают сообщения без подсказок от пользователей. Чем больше значение, тем значительнее разница.
2.
Слишком мало ответов на входящие ** личные сообщения **. Коэффициент конверсии: ** {value} **
Ваш бот не отвечает на все отправляемые ему сообщения (коэффициент конверсии запросов / ответов для вашего бота был слишком низким как минимум в течение двух из трех последних 5-минутных периодов).Чтобы обеспечить удобство работы пользователей, отвечайте на все сообщения, отправляемые вашему боту. Ответьте на сообщение обновления , вызвав методы send… (например, sendMessage).
3.
Слишком мало ответов на ** встроенные запросы **. Коэффициент конверсии: ** {value} **
Ваш бот не отвечает на все отправляемые ему встроенные запросы, рассчитанные таким же образом, как указано выше. Ответьте на обновления inline_query , вызвав answerInlineQuery.
4.
Слишком мало ответов на ** запросы обратного вызова **. Коэффициент конверсии: ** {значение} **
Слишком мало ответов на ** запросы к игре обратного вызова **. Коэффициент конверсии: ** {value} **
Ваш бот не отвечает на все отправляемые ему запросы обратного вызова (с играми или без них), рассчитанные таким же образом, как указано выше. Ответьте на обновления callback_query , вызвав answerCallbackQuery.
Обратите внимание, что функция предупреждений о состоянии все еще тестируется и будет улучшена в будущем.
Это введение. Теперь вы определенно готовы перейти к РУКОВОДСТВУ ПО API BOT .
Если у вас есть вопросы, ознакомьтесь с часто задаваемыми вопросами о ботах »
Как создать бота Telegram
Чат-ботов часто рекламируют как революцию в способах взаимодействия пользователей с технологиями и предприятиями. У них довольно простой интерфейс по сравнению с традиционными приложениями, поскольку они требуют от пользователей только общения в чате, а чат-боты должны понимать и делать все, что от них требует пользователь, по крайней мере теоретически.
Многие отрасли переводят обслуживание клиентов на системы чат-ботов. Это связано с огромным падением стоимости по сравнению с обычными людьми, а также из-за надежности и постоянной доступности. Чат-боты обеспечивают определенную поддержку пользователей без существенных дополнительных затрат.
Сегодня чат-боты используются во многих сценариях, от черных задач, таких как отображение времени и данных о погоде, до более сложных операций, таких как элементарная медицинская диагностика и общение с клиентами / поддержка.Вы можете разработать чат-бота, который поможет вашим клиентам, когда они задают определенные вопросы о вашем продукте, или вы можете создать чат-бота личного помощника, который сможет выполнять основные задачи и напоминать вам, когда пора идти на встречу или в тренажерный зал.
Когда дело доходит до развертывания чат-бота, существует множество вариантов, и одним из наиболее распространенных вариантов использования являются платформы социальных сетей, поскольку большинство людей используют их на регулярной основе. То же самое можно сказать и о приложениях для обмена мгновенными сообщениями, хотя и с некоторыми оговорками.
Telegram — одна из наиболее популярных сегодня платформ обмена мгновенными сообщениями, поскольку она позволяет хранить сообщения в облаке, а не только на вашем устройстве, и может похвастаться хорошей многоплатформенной поддержкой, так как Telegram можно использовать на Android, iOS, Windows и просто о любой другой платформе, которая может поддерживать веб-версию. Создать чат-бота в Telegram довольно просто и требуется несколько шагов, которые займут очень мало времени. Чат-бот может быть интегрирован в группы и каналы Telegram, а также работает сам по себе.
В этом уроке мы создадим бота Telegram, который предоставит вам изображение аватара из Adorable Avatars. Наш пример будет включать создание бота с использованием Flask и его развертывание на бесплатном сервере Heroku.
Для выполнения этого руководства вам понадобится Python 3, установленный в вашей системе, а также навыки программирования на Python. Кроме того, хорошее понимание того, как работают приложения, было бы хорошим дополнением, но не обязательным, поскольку мы рассмотрим большую часть того, что мы представляем подробно. Вам также необходимо установить Git в вашей системе.
Конечно, для этого учебника также требуется учетная запись Telegram, которая бесплатна. Вы можете зарегистрироваться здесь. Также требуется учетная запись Heroku, и вы можете получить ее бесплатно здесь.
Оживление вашего Telegram-бота
Чтобы создать чат-бота в Telegram, вам необходимо связаться с BotFather, который по сути является ботом, используемым для создания других ботов.
Вам нужна команда / newbot
, которая ведет к следующим шагам для создания вашего бота:
У вашего бота должно быть два атрибута: имя и имя пользователя.Имя будет отображаться для вашего бота, а имя пользователя будет использоваться для упоминаний и обмена.
После выбора имени бота и имени пользователя, которое должно заканчиваться на «бот», вы получите сообщение, содержащее ваш токен доступа, и вам, очевидно, потребуется сохранить свой токен доступа и имя пользователя на будущее, так как они вам понадобятся.
Кодирование логики чат-бота
В этом руководстве мы будем использовать Ubuntu. Для пользователей Windows большинство команд здесь будут работать без каких-либо проблем, но если у вас возникнут какие-либо проблемы с настройкой виртуальной среды, обратитесь по этой ссылке.Что касается пользователей Mac, это руководство должно работать нормально.
Во-первых, давайте создадим виртуальную среду. Это помогает изолировать требования вашего проекта от глобальной среды Python.
$ python -m venv botenv /
Теперь у нас будет каталог botenv /
, который будет содержать все библиотеки Python, которые мы будем использовать. Идите вперед и активируйте virtualenv
, используя следующую команду:
$ источник botenv / bin / activate
Библиотеки, которые нам нужны для нашего бота:
Вы можете установить их в виртуальной среде с помощью следующей команды pip:
(телебот) $ pip install flask
(Telebot) $ pip установить python-telegram-bot
(Telebot) запросы на установку $ pip
Теперь давайте просмотрим каталог нашего проекта.
.
├── app.py
├── телебот
│ ├── credentials.py
│ | .
│ | вы можете построить свой двигатель здесь
│ | .
│ └── __init__.py
└── ботенв
В файле credentials.py
нам понадобятся три переменные:
bot_token = "вот ваш токен доступа от BotFather"
bot_user_name = "введенное вами имя пользователя"
URL = "ссылка на приложение heroku, которую мы создадим позже"
Теперь вернемся к нашему app.py и пошагово пройдемся по коду:
# импортировать все
из фляги импорт фляги, запрос
импортная телеграмма
от телебота.импорт учетных данных bot_token, bot_user_name, URL
глобальный бот
глобальный ТОКЕН
TOKEN = bot_token
bot = telegram.Bot (токен = ТОКЕН)
Теперь у нас есть объект бота, который будет использоваться для любого действия, которое мы требуем от бота.
# запустить приложение flask
app = Flask (__ имя__)
Нам также нужно привязать функции к определенным маршрутам. Другими словами, нам нужно указать Flask, что делать при вызове определенного адреса. Более подробную информацию о Flask и маршрутах можно найти здесь.
В нашем примере функция маршрута отвечает на URL-адрес, который в основном представляет собой / {token}
, и это URL-адрес, который Telegram будет вызывать для получения ответов на сообщения, отправленные боту.
@ app.route ('/ {}'. Format (TOKEN), methods = ['POST'])
def response ():
# получить сообщение в JSON и затем преобразовать его в объект Telegram
update = telegram.Update.de_json (request.get_json (force = True), бот)
chat_id = update.message.chat.id
msg_id = update.message.message_id
# Telegram понимает UTF-8, поэтому кодируйте текст для совместимости с Unicode
текст = обновление.message.text.encode ('utf-8'). decode ()
# только для отладки
print ("получил текстовое сообщение:", текст)
# при первом общении с ботом AKA приветственное сообщение
если text == "/ start":
# распечатать приветственное сообщение
bot_welcome = "" "
Добро пожаловать в бот coolAvatar, бот использует службу http://avatars.adorable.io/ для создания крутых аватаров на основе введенного имени, поэтому введите имя, и бот ответит аватаром на ваше имя.
"" "
# отправить приветственное сообщение
бот.sendMessage (chat_id = chat_id, text = bot_welcome, reply_to_message_id = msg_id)
еще:
пытаться:
# очистить полученное сообщение от всех не алфавитов
text = re.sub (r "\ W", "_", текст)
# создать ссылку api для аватара на основе http://avatars.adorable.io/
url = "https://api.adorable.io/avatars/285/{}.png" .format (text.strip ())
# ответьте фотографией на имя, отправленное пользователем,
# обратите внимание, что вы можете отправлять фотографии по URL-адресу, и Telegram получит их за вас
бот.sendPhoto (chat_id = chat_id, photo = url, reply_to_message_id = msg_id)
кроме исключения:
# если что-то пошло не так
bot.sendMessage (chat_id = chat_id, text = "Возникла проблема с именем, которое вы использовали, введите другое имя", reply_to_message_id = msg_id)
верни "ок"
Интуитивно понятный способ заставить эту функцию работать — это то, что мы будем вызывать ее каждую секунду, чтобы она проверяла, пришло ли новое сообщение, но мы не будем этого делать. Вместо этого мы будем использовать Webhook, который позволяет боту вызывать наш сервер всякий раз, когда вызывается сообщение, так что нам не нужно заставлять наш сервер страдать во время цикла ожидания сообщения.
Итак, мы создадим функцию, которую нам самим нужно будет вызвать для активации Webhook Telegram, по сути говоря, что Telegram должен вызывать определенную ссылку при поступлении нового сообщения. Мы вызовем эту функцию только один раз при первом создании бота. Если вы измените ссылку на приложение, вам нужно будет снова запустить эту функцию с новой ссылкой, которая у вас есть.
Маршрут здесь может быть любым; вы тот, кто назовет его:
@ app.route ('/ setwebhook', methods = ['GET', 'POST'])
def set_webhook ():
# мы используем объект бота, чтобы связать бота с нашим приложением, которое
# в ссылке, предоставленной URL
s = бот.setWebhook ('{URL} {HOOK}'. format (URL = URL, HOOK = TOKEN))
# что-нибудь, чтобы сообщить нам, что все работает
если s:
верните "webhook setup ok"
еще:
вернуть "сбой настройки веб-перехватчика"
Теперь, когда все настроено, давайте просто создадим красивую домашнюю страницу, чтобы мы знали, что движок запущен.
@ app.route ('/')
def index ():
возвращение '.'
если __name__ == '__main__':
# обратите внимание на резьбовой аргумент, который позволяет
# ваше приложение должно иметь более одного потока
app.run (thread = True)
Давайте посмотрим на полную версию приложения.py:
импорт ре
из фляги импорт фляги, запрос
импортная телеграмма
from telebot.credentials import bot_token, bot_user_name, URL
глобальный бот
глобальный ТОКЕН
TOKEN = bot_token
bot = telegram.Bot (токен = ТОКЕН)
app = Flask (__ имя__)
@ app.route ('/ {}'. format (TOKEN), methods = ['POST'])
def response ():
# получить сообщение в JSON и затем преобразовать его в объект Telegram
update = telegram.Update.de_json (request.get_json (force = True), бот)
chat_id = update.message.chat.id
msg_id = обновить.message.message_id
# Telegram понимает UTF-8, поэтому кодируйте текст для совместимости с Unicode
текст = update.message.text.encode ('utf-8'). decode ()
# только для отладки
print ("получил текстовое сообщение:", текст)
# при первом общении с ботом AKA приветственное сообщение
если text == "/ start":
# распечатать приветственное сообщение
bot_welcome = "" "
Добро пожаловать в бот coolAvatar, бот использует службу http://avatars.adorable.io/ для создания крутых аватаров на основе введенного имени, поэтому введите имя, и бот ответит аватаром на ваше имя."" "
# отправить приветственное сообщение
bot.sendMessage (chat_id = chat_id, text = bot_welcome, reply_to_message_id = msg_id)
еще:
пытаться:
# очистить полученное сообщение от всех не алфавитов
text = re.sub (r "\ W", "_", текст)
# создать ссылку api для аватара на основе http://avatars.adorable.io/
url = "https://api.adorable.io/avatars/285/{}.png" .format (text.strip ())
# ответьте фотографией на имя, отправленное пользователем,
# обратите внимание, что вы можете отправлять фотографии по URL-адресу, и Telegram получит их за вас
бот.sendPhoto (chat_id = chat_id, photo = url, reply_to_message_id = msg_id)
кроме исключения:
# если что-то пошло не так
bot.sendMessage (chat_id = chat_id, text = "Возникла проблема с именем, которое вы использовали, введите другое имя", reply_to_message_id = msg_id)
верни "ок"
@ app.route ('/ set_webhook', methods = ['GET', 'POST'])
def set_webhook ():
s = bot.setWebhook ('{URL} {HOOK}'. format (URL = URL, HOOK = TOKEN))
если s:
верните "webhook setup ok"
еще:
вернуть "сбой настройки веб-перехватчика"
@приложение.маршрут('/')
def index ():
возвращение '.'
если __name__ == '__main__':
app.run (thread = True)
Это последний фрагмент кода, который вы напишете в нашем руководстве. Теперь мы можем перейти к последнему шагу, запустив наше приложение на Heroku.
Запустите наше приложение на Heroku
Нам нужно кое-что, прежде чем мы создадим наше приложение.
Heroku не может знать, какие библиотеки использует ваш проект, поэтому мы должны сообщить ему об этом с помощью файла requirements.txt
— распространенная проблема заключается в том, что вы неправильно написали требования, поэтому будьте осторожны — чтобы сгенерировать файл требований с помощью pip:
pip freeze> требования.текст
Теперь у вас есть готовый файл требований.
Теперь вам нужен Procfile
, который сообщает Heroku, где запускается наше приложение, поэтому создайте файл Procfile
и добавьте следующее:
Интернет: Gunicorn app: app
Шаг возврата: вы можете добавить файл .gitignore
в свой проект, чтобы неиспользуемые файлы не загружались в репозиторий.
На панели управления Heroku создайте новое приложение. Как только вы это сделаете, он направит вас на страницу Deploy .Затем откройте вкладку Settings в новом окне и скопируйте домен приложения, который будет выглядеть примерно так: https://appname.herokuapp.com/
, и вставьте его в переменную URL внутри credentials.py
.
Теперь вернитесь на вкладку Deploy и выполните шаги:
Примечание. Пользователи Windows и macOS могут выполнить действия, описанные здесь.
Войти в Heroku:
$ heroku войти
Обратите внимание, что этот метод иногда застревает в в ожидании входа в систему
, если это произойдет с вами, попробуйте войти, используя:
$ heroku логин -i
Инициализировать репозиторий Git в нашем каталоге:
$ git init
$ heroku git: remote -a {имя-проекта-героя}
Развернуть приложение:
$ git add.$ git commit -m "первая фиксация"
$ git push герой мастер
На этом этапе вы увидите прогресс строительства в вашем терминале. Если все прошло нормально, вы увидите что-то вроде этого:
пульт: -----> Запуск ...
удаленный: выпущена v6
удаленный: https://project-name.herokuapp.com/ развернут на Heroku
удаленный:
удаленный: проверка развертывания ... выполнено.
Теперь перейдите на страницу приложения (ссылка на домен, который вы скопировали ранее) и добавьте в конец ссылки / setwebhook
, чтобы адрес был примерно таким: https: // имя приложения.herokuapp.com/setwebhook
. Если вы видите webhook setup ok
, это означает, что вы готовы к работе!
Теперь поговорите со своим ботом
Живая версия бота
Последние штрихи, советы и хитрости
Теперь у вас есть бот Telegram, работающий круглосуточно и без выходных. Вы можете добавить к боту любую логику, которую хотите, так, например, вы можете сделать своего бота более реалистичным, добавив статус «печатает» и отправив статус фотографии следующим образом:
Следующий фрагмент кода из функции response ()
:
если text == "/ start":
# распечатать приветственное сообщение
bot_welcome = "" "
Добро пожаловать в бот coolAvatar, бот использует сервис из http: // avatars.adorable.io/ для создания крутых аватаров на основе имени, которое вы вводите, поэтому введите имя, и бот ответит аватаром на ваше имя.
"" "
# отправить приветственное сообщение
bot.sendChatAction (chat_id = chat_id, action = "typing")
сон (1.5)
bot.sendMessage (chat_id = chat_id, text = bot_welcome, reply_to_message_id = msg_id)
еще:
пытаться:
# очистить полученное сообщение от всех не алфавитов
text = re.sub (r "\ W", "_", текст)
# создать ссылку api для аватара на основе http: // avatars.adorable.io/
url = "https://api.adorable.io/avatars/285/{}.png" .format (text.strip ())
# ответьте фотографией на имя, отправленное пользователем,
# обратите внимание, что вы можете отправлять фотографии по URL-адресу, и Telegram получит их за вас
bot.sendChatAction (chat_id = chat_id, action = "upload_photo")
сон (2)
bot.sendPhoto (chat_id = chat_id, photo = url, reply_to_message_id = msg_id)
кроме исключения:
# если что-то пошло не так
bot.sendMessage (chat_id = chat_id, text = "Возникла проблема с именем, которое вы использовали, введите другое имя", reply_to_message_id = msg_id)
Как вы можете видеть во фрагменте, мы добавили действие ввода, когда мы собираемся отправить информацию о боте в текстовом формате, и добавили действие загрузки фотографии, когда мы собираемся отправить фотографию, чтобы сделать бота больше реалистично.Больше действий можно найти здесь.
Вы также можете изменить изображение и описание бота из канала BotFather, чтобы сделать его более удобным.
Еще много простых примеров телеграмм-ботов можно найти на странице python-telegram-bot на GitHub.
Вы можете развить нашего бота и сделать его следующим супер-ИИ-ботом — все, что вам нужно сделать, это интегрировать свою логику в функцию response ()
. Например, ваша логика может быть в отдельном модуле и может вызываться внутри функции response ()
следующим образом:
.├── app.py
├── телебот
│ ├── credentials.py
│ ├──ai.py
│ | .
│ | вы можете построить свой двигатель здесь
│ | .
│ └── __init__.py
└── ботенв
А внутри ai .py:
def generate_smart_reply (текст):
# здесь мы можем делать всю нашу работу
верните "это умный ответ от ai!"
Импортируйте его сейчас в приложение .py:
импорт ре
от времени импортный сон
из фляги импорт фляги, запрос
импортная телеграмма
С телебота.AI импорт generate_smart_reply
from telebot.credentials import bot_token, bot_user_name, URL
Затем просто вызовите его внутри кода response ()
.
def response ():
# получить сообщение в JSON и затем преобразовать его в объект Telegram
update = telegram.Update.de_json (request.get_json (force = True), бот)
chat_id = update.message.chat.id
msg_id = update.message.message_id
# Telegram понимает UTF-8, поэтому кодируйте текст для совместимости с Unicode
текст = обновление.message.text.encode ('utf-8'). decode ()
# только для отладки
print ("получил текстовое сообщение:", текст)
# здесь позвони своему умному ответному сообщению
reply = generate_smart_reply (текст)
bot.sendMessage (chat_id = chat_id, text = reply, reply_to_message_id = msg_id)
Теперь ваш бот может работать так, как вы хотите — вперед и создайте следующую большую вещь!
Надеюсь, вам понравилось создавать своего первого бота для Telegram.
Дополнительные ресурсы
Как создать чат-бота [Простые способы создания чат-ботов бесплатно]
« Чат-боты для нас все еще в новинку .”
Я видел этот комментарий, размещенный на профессиональной сетевой платформе несколько недель назад.
Это заявление стало для меня неожиданностью. Технология чат-ботов разрабатывалась с 60-х годов, так что это не что-то новое. Не говоря уже о том, что с тех пор были внесены некоторые замечательные улучшения.
Сегодня мы можем использовать конструктор чат-ботов
Обеспечьте круглосуточное обслуживание клиентов, даже когда вы спите.
Создавайте неограниченное количество чат-ботов для своего сайта без программирования, чтобы привлечь больше посетителей.
Узнайте о чат-ботахЧат-боты больше не предназначены для программистов или крупных компаний с толстыми кошельками, которые могут позволить себе нанять разработчиков чат-ботов.
С помощью этого простого визуального инструмента перетаскивания мы обещаем 3 вещи:
- Вы создадите чат-ботов, соответствующих вашему бизнесу.
- Вы получите их и начнете работать менее чем за 15 минут.
- Вы заплатите 0 $ за то, чтобы это произошло, и вы можете хранить их навсегда.
Звучит круто? Мы надеемся на это!
Если у вас уже есть некоторый опыт в создании чат-ботов, выберите свой уровень знаний, чтобы перейти к нужному разделу:
Готовы узнать, как создать чат-бота для своего сайта или страницы в Facebook?
Это руководство по чат-ботам покажет вам, как сделать это от А до Я без предварительного опыта разработки чат-ботов.
Некоторые платформы разработки чат-ботов используют сложную логику ботов для создания простых чат-ботов. Они нацелены на экспертов по программированию чат-ботов.
Tidio предлагает интуитивно понятный конструктор, который поможет вам быстро и легко создавать чат-ботов.
Вам не нужно понимать код чат-бота, чтобы создать собственного бота. Создать чат-бота без программирования — это весело и легко!
Мы узнаем, как создать чат-бота, который
а) приветствует посетителей (здороваясь с ними)
б) собирает их данные (их имя).
Готовы? Давайте приступим к делу.
Шаг 1: Перейдите в раздел ЧАТ-БОТЫ
Если у вас нет доступа к конструктору чат-ботов , вам необходимо сначала зарегистрировать свою учетную запись. Регистрация бесплатна.
Раздел ЧАТБОТЫ расположен в левой части вашей панели администратора.
Шаг 2. Нажмите кнопки «+ Добавить еще одного бота» и «+ Добавить с нуля».
Кнопка + Добавить еще одного бота Кнопка находится в правом верхнем углу раздела «Чат-боты».Щелкните по нему. Появится новый экран. Снова перейдите в верхний правый раздел и нажмите кнопку + Добавить с нуля .
Запуск создания чат-ботаШаг 3: Выберите узлы и соедините их
Нам нужно сначала указать, когда появится бот. Или, как его еще называют, решить, когда будет запущен бот .
Предположим, что он появится на какой-то конкретной странице вашего веб-сайта , например, на главной странице. Чтобы это произошло, мы начнем с триггера под названием Посетитель открывает определенную страницу .
Триггер « Посетитель открывает определенную страницу. » заставит чат-бота отображатьсятолько на определенной странице или в определенной категории страниц
Выберите триггер, чтобы разместить его на рабочей доске. Щелкните его, чтобы открыть окно с настройками триггера. Введите URL-адрес вашей домашней страницы (например, https://www.my-store-name.com) и закройте окно.
Затем добавьте два узла действий: Задайте вопрос и Отправьте сообщение и соедините их. Затем щелкните узел Задать вопрос и введите свой вопрос (например,грамм. «Привет! Как твое имя?»).
Поскольку мы хотим собирать данные о посетителях (их имя), нам нужно каким-то образом заставить чат-бота сохранять их .
Для этого переключите «Сохранить ответ как свойство контакта» с на . Таким образом, ваш чат-бот запомнит имя посетителя и сможет отправить персональный ответ . В поле «Выберите свойство контакта» выберите значение « имя ».
🚀 Читать: Как использовать свойства контактов
Аналогичным образом щелкните узел Отправить сообщение, чтобы отредактировать свое сообщение (например,грамм. «Приятно познакомиться, {name}»). Для чего нужны фигурные скобки {} ? Чтобы вставить ответ вашего посетителя . Ответ (в данном случае имя) будет сохранен как свойство контакта, которое мы ранее указали как «имя».
Закройте окно свойств.
Шаг 4. Вы создали своего первого чат-бота! Попробуй это!
Нажмите кнопку Проверить . Вы должны увидеть на своем экране результат, аналогичный показанному на видео ниже.
1: Чат-бот задает вопрос
2: Сохраняет ответ, предоставленный посетителем, как свойство контакта
3: Чат-бот отправляет сообщение, использующее свойство
Создайте этого чат-ботаМолодец! Ваш чат-бот (почти) готов приступить к работе. Мы вернемся к этому через мгновение, поэтому назовите своего бота и Сохраните его (как черновик) .
Хорошо. Вы знаете, как создать чат-бота. Но что делать дальше?
До сих пор вы возились с визуальным редактором, а это значит, что созданный вами чат-бот виден только вам .Но если ваш чат-бот будет заблокирован внутри редактора, он не привлечет ваших клиентов. Вот почему , чтобы запустить чат-бота, вам нужно сначала добавить его на свой веб-сайт или в магазин , а затем, , активировать его .
Подробнее:
Если вы хотите узнать, , как создавать автоматизацию чат-ботов , лучше всего взглянуть на готовых к использованию чат-ботов, доступных на панели Tidio.
Используйте плагин WordPress или Shopify
Если ваш веб-сайт был создан с помощью WordPress или Shopify , то установка просто не может быть проще.Tidio разработала специальные плагины для обеих платформ, поэтому все, что вам нужно сделать, это выбрать правильный плагин и добавить его на свой веб-сайт WordPress или в магазин Shopify.
🚀 Читать: Руководство по установке чат-бота для пользователей WordPress
🚀 Читать: Руководство по установке чат-бота для владельцев магазинов Shopify
Используйте фрагмент кода JavaScript
Этот метод заключается в добавлении небольшого фрагмента кода JavaScript на ваш веб-сайт / код магазина.
- Перейдите в раздел КАНАЛЫ в панели администратора.Выберите «Онлайн-чат»> «Интеграция»> «JavaScript».
- Скопируйте фрагмент кода.
- Добавьте код JavaScript в код своего веб-сайта.
Вставьте фрагмент кода JavaScript над закрывающим тегом