Как сделать чат бота для андроид

Инструкция: Как создавать ботов в Telegram

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

Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.

Рассмотрим API на примере создания тривиального бота:

1. Регистрация

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

Пишем ему /start и получаем список всех его команд.
Первая и главная — /newbot — отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя — оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.

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

Не забудьте проверить полученный токен с помощью ссылки /getMe»>api.telegram.org/bot /getMe, говорят, не всегда работает с первого раза.

2. Программирование

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

Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)

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

Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.

Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект Message.

Собственно, её код довольно прост:

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

3. Команды

Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:

Структура message[‘from’] — это объект типа User, она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message[‘chat’][‘id’] — в случае личного общения там будет User, а в случае чата — id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.

Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.

После этого можно добавить какую-нибудь свою команду, например, /base64:

Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather : Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:

command1 — Description
command2 — Another description
I:
whoisyourdaddy — Information about author
base64 — Base64 decode
BotFather: Success! Command list updated. /help

C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.

4. Свобода

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

UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/ ) (https://core.telegram.org/bots#privacy-mode)

  • All messages that start with a slash ‘/’ (see Commands above)
  • Messages that mention the bot by username
  • Replies to the bot’s own messages
  • Service messages (people added or removed from the group, etc.)

Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.

Для начала в Handler добавляем обработчик:

А потом в список команд добавляем псевдо-речь:

Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

Читайте также:  Надо ли дефрагментировать андроид

5. Не текст.

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

Для примера расширим словарь RESPONSES:

И будем отлавливать текст :

Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:

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

6. Возможности

Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).

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

7. Ограничения

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

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

P.S. По пункту 7 нашел удобное решение — размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.

UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч ‘method’: ‘sendMessage’ (или любой другой метод, используемый ботом).

Источник

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

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

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

К 2022 году 80% запросов будут обрабатывать чат-боты, предсказывает CNBC. Этот прогноз не удивляет. Для пользователей чат-боты — это круглосуточная поддержка и быстрые ответы на вопросы. Для бизнеса это рост продаж и обслуживание клиентов без затрат на операторов.

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

Пишет про технологии и бизнес.

Что такое чат-боты и зачем они нужны

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

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

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

Чат-ботов можно встретить в разных интерфейсах:

  • в мессенджерах, в том числе в социальных сетях;
  • в мобильных приложениях;
  • на сайтах в виде онлайн-чата;
  • в голосовых помощниках: в «Алисе» от «Яндекса», Google Assistant, Alexa;
  • на отдельных веб-страницах.

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

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

В бизнесе чат-боты решают две большие группы задач:

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

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

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

Насколько эффективны чат-боты? Open Rate сообщений в мессенджерах — 90%. Для сравнения, у email-писем похожего содержания показатель составляет 20–30%. В мессенджерах выше Click Rate и скорость ответа. В среднем это 90 секунд для чат-ботов против 90 минут для email.

Робот стоит на первой линии поддержки, он может забрать на себя 50% и более обращений, говорит директор платформы для разработки голосовых и текстовых роботов Ziax, эксперт курса «Мессенджер-маркетинг» Роман Милованов. По его словам, это касается типовых обращений, которые не требуют уникального подхода к клиенту. Чат-боты избавляют операторов от рутины — это снижает и затраты, которые можно посчитать в FTE, и косвенные издержки, которые трудно подсчитать.

Роман Милованов приводит и другие примеры использования чат-ботов. Их используют в HR для ответов на запросы сотрудников. Или во внутренних техподдержках: чат-боты заводят заявки, отслеживают статусы, бронируют переговорные комнаты. Тем не менее в этой статье мы говорим о ботах для маркетинга.

Конструкторы vs разработчики

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

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

Разработку чат-бота не всегда стоит начинать с поиска исполнителя, считает геймификатор и продакт-менеджер Александр Дученчук. По его словам, сначала нужно смоделировать решение. Это удобно делать на онлайн-досках для майндкарт — например, Miro или Lucidchart.

Если решение линейное, простое и не требует взаимосвязей, то можно попробовать собрать его самостоятельно с помощью no-code/low-code -сервисов. «В наше время их уже достаточно много, и они хорошо развиты», — говорит Дученчук.

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

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

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

Этап 1. Определите, где будет находиться чат-бот

Это мессенджер, диалоговое окно на сайте, отдельная страница. На российском рынке наиболее популярны мессенджер социальной сети «ВКонтакте» и WhatsApp — многие начинают внедрение чат-ботов именно с них.

Этап 2. Опишите цели чат-бота

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

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

Этап 3. Спроектируйте чат-бота

Нужно определить логику алгоритма и последовательность действий. Итоговую структуру можно описать в виде последовательной (блочной, или древовидной) схемы сообщений.

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

Этап 4. Выберите конструктор чат-бота

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

Приведём некоторые примеры:

  • Сhatforma;
  • Flow XO;
  • Pipe.bot и SAP Conversational AI — боты с ИИ;
  • Chatfuel — боты для Facebook;
  • Manychat — боты для интернет-магазинов, сервис интегрирован с Shopify;
  • Treebo — сервис для WhatsApp с интеграцией с Bitrix24;
  • Robochat.io — боты для «ВКонтакте» и Telegram.

У Facebook Messenger, Slack и Telegram есть собственные платформы для создания ботов. Они бесплатные, но несколько сложнее классических коммерческих конструкторов.

Для общения с пользователем чат-бот должен откуда-то брать данные: о заказах, товарах, статусе доставки и так далее. Для этого алгоритм интегрируют со сторонними сервисами, которые хранят такие данные. Это, например, «Мой склад», «Google Таблицы», «Google Календарь», Bitrix24 или даже Instagram. При выборе конструктора нужно учитывать, что он должен работать с сервисом, которым пользуетесь вы.

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

Читайте также:  Платформ тулс для андроид

Ещё следует обратить внимание:

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

Этап 5. Откорректируйте бота после тестового периода

Когда бот проработает хотя бы месяц, попробуйте его улучшить. Для этого:

  1. Проанализируйте, как клиенты используют чат-бота. Что они ищут? Как вы можете адаптировать бота к их потребностям?
  2. Обратите внимание на слова и фразы, которые бот не распознал. Обычно алгоритмы сохраняют эти данные. Если какая-то фраза встречается много раз, её можно внести в диалог.
  3. Изучите, какие именно пользователи вступают в диалог с чат-ботом, как они с ним общаются. Возможно, чат-боту стоит сменить тон.

Сложный чат-бот: как заказать у программистов

Хотя новичок может справиться с созданием чат-бота, профессиональные лингвисты и программисты сделают робота намного лучше. Так считает Роман Милованов из Ziax. По его словам, это также будет быстрее. В этом разделе мы разберём, сколько может стоить разработка бота, где искать подрядчиков и что нужно учесть при создании ТЗ.

Сколько может стоить создание бота

Час разработки в этом сегменте в среднем стоит от 800 до 2500 рублей. Итоговая цена проекта будет зависеть от сложности, в том числе от того, нужны ли функции ИИ. Самого простого бота можно заказать у фрилансера от 10 тысяч рублей; цена хорошего чат-бота для компании будет находиться в ветке 100–300 тысяч рублей.

Цены на чат-ботов в агентствах, которые на них специализируются, начинаются от 40 тысяч рублей, а в веб-студиях — от 120 тысяч.

Стоимость также зависит от платформы, для которой нужен чат-бот. Самые дешёвые — это роботы для Facebook, Telegram, Viber и сайтов. В них для создания диалогов можно использовать уже существующий интерфейс. Сложнее сделать робота для WhatsApp или SMS — цена может быть больше в пять раз.

Где искать исполнителя

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

  • Биржи фриланса. Например, Fl.ru или Kwork. При выборе исполнителя стоит ориентироваться на рейтинг, отзывы, опыт. Ну и важно помнить — демпингуют на таких биржах обычно новички.
  • Заказать у агентства или компании, для которых чат-боты — это их профиль. Это дороже, зато робота не только напишут под ваш бизнес, но и настроят, отладят и будут сопровождать.
  • В соцсетях. Исполнителя можно найти в Facebook, Telegram или во «ВКонтакте». Там есть и фрилансеры, и агентства. На том, что в соцсетях могут быть мошенники, а опыт потенциального исполнителя нужно оценивать, мы останавливаться не будем.
  • Через знакомых. Способ, который также не нуждается в комментировании.

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

Обязательно нужно проверить на собеседовании, работал ли исполнитель с нужными вам технологиями. Это могут быть технологии обработки естественного языка (NLP), распознавания человеческой речи (Voice Recognition, Text-to-Speech и Speech-to-Text). На изучение этих инструментов уйдёт слишком много времени, отмечает Дученчук.

Для разработки сложных чат-ботов можно применять разные языки, поэтому, если у вас уже есть в стеке, например, Python, можно не усложнять и написать чат-бота на нём, заключает Дукенчук.

Как составить ТЗ и выяснить точную стоимость?

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

  1. Объясните разработчику, какой чат-бот вам нужен. Если вы сами не знаете, попробуйте сосредоточиться на его целях — что этот алгоритм должен делать для вашего бизнеса или проекта.
  2. Какие функции будущего чат-бота какие потребности покроют. Например, если вы хотите снизить нагрузку на команду поддержки, скорее всего, вам нужен чат-бот с ИИ — он сможет вести диалог с пользователями на продвинутом уровне.
  3. Отправьте свои требования в несколько компаний и попросите оценить время и стоимость проекта.

Как узнать больше

Если вас интересует продвижение бизнеса в мессенджерах в целом, то вот здесь мы рассказываем о маркетинге в WhatsApp, здесь — о массовых рассылках во «ВКонтакте» от имени группы, а здесь — о подключении чат-ботов к таргетированной рекламе.

О необычном способе использовать чат-бота можно прочитать в статье «Как в „Газпром нефти“ развивают эмоциональный интеллект с помощью чат-бота».

обложка: Lefgo / Pexels / Colowgee для Skillbox Media

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

Источник

Оцените статью