Редактор для ботов telegram и иных диалоговых структур

Редактор для ботов telegram и иных диалоговых структур

var_null

Началось

Началось все летом 2016 когда я запилил пару чат-ботов для Вконтакте. Минимально изучив API я описал бота и нарек его Радой -https://vk.com/id332451108. Она трепется (практически не анализируя фразы пользователя), кидает картинки, аудио и задает нелепые вопросы, иногда на них же и отвечая . Потом я подумал добавить еще парочку ботов с другими характерами (каждый бот имеет свои альбомы из которых он прикрепляет изображения с комментариями, свои любимые композиции и свои неповторимые фразы). Таких ботов набралось 4. Отвечают они только после добавления в друзья и первыми никогда не пишут, так что к спам ботам их при всем желании отнести нельзя - это именно чат существа.

Потом

Потом подумал, что неплохо бы, чтобы они могли и на сайтах общаться.. логика-то примерно та же.. только вывод в другой форме. Перепилил - получилось. Потом запилил их в телеграме. Вот Рада в телеграме - @rada_videt_bot, а на сайте с ней можно пообщаться через чат http://бот.впрограмме.рф/bots/index.php?radoid_id=332451108

Параллельно

Параллельно с этим думал, что можно еще выжать из того что получалось - сначала решил написать систему автоответчиков.. Чтобы люди конструировали на сайте автоответчик и подключали его к аккаунту в Вконтакте, а он мог потом консультировать других пользователей по заранее спланированному диалоговому дереву. Но потом я понял, что идея, где одного бота программируют много пользователей плохая и нужно сделать чтобы человек мог сам для себя создать бота, чтобы сам сделал аккаунт, подключил, указав толкен для доступа и конструировал в свое удовольствие.. и я не буду в ответе за его творчество и сам он за свой этот аккаунт будет отвечать и следить за его незабаненостью. В результате множества перепилов и допилов системы появилось нечто, с помощью чего можно создавать диалоговые структуры типа дерева, по которому можно ходить вверх вниз и по перекрестным "гиперссылкам".. Редактировать в системе можно несколько видов структур: ботов для Вконтакте, чат-консультантов на сайты (в результате работы выдается код для вставки как для вставки ютуб ролика), меню на сайт и последнее (на прошлой неделе сделал) - ботов для телеграма. Понятное дело, у каждого типа есть свои нюансы и отличия и я стараюсь их учитывать - у ботов в телеграме есть поля для толкена и юзернейма, у менюшек этого нет.. у чат консультантов на сайты есть код для вставки в HTML код, а для ботов в Вк и телеграм его нет и т.д.


Редактор. Одно дерево команд для различных реализаций.


Ссылка на страничку с демо результатами редактора - http://бот.впрограмме.рф/bots/index.php?radoid_id=demo

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

Пример

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

@kodoved_bot - стартовая
@kodoved_bot в работе


Видео с примером того как описать структуру диалога для бота телеграм:

Пример того как описать структуру диалога для бота телеграм

Ссылка на сам редактор (пока что он на бесплатном хосте) - http://q99920bs.bget.ru/all/s_radoid/dialogs/dialogs.php

Работа с редактором

Для того чтобы начать работу с редактором достаточно авторизоваться и выбрать тип бота для работы. Авторизация (и регистрация в системе) происходит через социальную сеть Вконтакте; дополнительных данных в виде email и т.д. от пользователя не требуется.

Основная работа происходит в двух вкладках редактора: Вкладка "Боты" и вкладка "Команды". Первая вкладка содержит список текущих диалоговых систем и структур типа меню, а вторая - все что относится к работе с командами выбранного бота - описания, порядок команд, медиавложения, пути для обработки команд и для выдачи контента. Слева от центрального блока редактора в случае с чат-ботом и меню можно увидеть результат работы. В случае с telegram это будет просто ссылка на бота.

Что планирую сделать

В случае, если я увижу, что редактор будет полезен общественности:

1)добавлю максимально возможное количество социальных сетей и мессенджеров.

2)добавлю аналитику со всевозможными графиками, отражающие динамику посещения и т.д.

P.S.

Сайт, на котором я размещаю свои творения - http://бот.впрограмме.рф

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