Pull to refresh

Чатбот viber на основе node-red

Салют всем техногикам!

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

Была задача сделать чатбота. В ходе поиска инструментов для реализации, мне попалась в англоязычных интернетах небольшая статья, что то на тему «Node-Red chat integration».

Процитирую официальное описание:
Node-RED-это инструмент программирования для объединения аппаратных устройств, API и онлайн-сервисов новыми и интересными способами.

Он предоставляет редактор на основе браузера, который позволяет легко соединять потоки, используя широкий диапазон узлов в палитре, которые могут быть развернуты во время выполнения в один клик.
Все это дело накатывается на сервере/локальном ПК/Облаке поверх NODE JS. После чего вы можете работать в интерфейсе по IP адресу сервера на порте 1880, например 127.0.0.1:1880.

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

Делаем чат бота в Viber за один день


Для построения чатбота я использовал готовую чат бот платформу RedBot.
bot for Telegram, Facebook Messenger, Smooch, Slack, Alexa, Twilio and Viber
Задачи которые должен был решать чатбот:

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

Для начала необходимо пройти регистрирацию в Viber Partner и получить токен нового чат бота. После можно строить структуру. Вам не понадобится 10 литров кофе и целая неделя. Я справился за 1 день!

Как это выглядит на финише:

image

Чтобы node red мог общаться с API Viber необходимо установить Ngrok, который создает туннель для передачи данных. Подробно это описано на странице RedBot в разделе Viber. Если вам потребуется сложная логика, то и база данных не помешает.

image

Особенности проектирования чат ботов


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

Возможно:

  • Управлять различными устройствами через команды отправляемые чатботу.
  • Настроить отправку снимков по с вашей домашней камеры прямо в чат
  • Создать интеллектуального бота для общения с клиентами на основе natural language processing
  • Сделать систему опроса сетевого/любого оборудования с отправкой вам уведомлений, когда вдруг что то упало и как долго не поднимается
  • Систему лояльности и оплаты (Telgram) для клиентов
  • Настроить по ChatID пользователя доступ только к определенным разделам и командам чатбота
  • Создать парсер который будет мониторить цены на нескольких сайтах и по команде выдавать вам максимальную, минимальную и среднюю.
  • Связать чатбота с различными сервисами по API и пользоваться полным функционалом через команды внутри чата.

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

image

Заключение


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

Теперь, если вам вдруг понадобится сделать бота за одну ночь, вы знаете что делать…
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.