Преобразование слов

Бот преобразует набор фраз или слов к одному слову, строке.

Преобразование слов

(1) — кнопка «Добавить правило». Добавляет правило, которое преобразует слово, фразу к слову, которое понимает бот.

(2) — теги, которые преобразуются к слову в поле (3)

(3) — слово к которому преобразуются теги из поля (2)

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Вкладка «Оплата»

Оплата

В: Как пополнить аккаунт?

О: 1) Нажать «Пополнить» и ввести стоимость тарифа;

2) Оплатить любым удобным способом через tap2pay;

3) Вернуться в сервис, перейти в тарифы. Выбрать нужный и нажать «Подключить»;

4) Со счета в сервисе спишется сумма равная стоимости тарифа.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Список типичных ошибок и как их исправить

`missing mandatory field: text` — встречается в Viber, если пытаетесь отправить пустой текст сообщения. Заполните блок сообщения текстом и отправьте заново.

`Vk error:One of the parameters specified was missing or invalid: message is empty or invalid` — встречается во Вконтакте, если пытаетесь отправить пустой текст сообщения. Заполните блок сообщения текстом и отправьте заново.

`(#100) Length of param name_placeholder[text] must be less than or equal to 640` или `(#100) Length of param message[text] must be less than or equal to 2000` — встречается в Facebook Messenger, если пытаетесь отправить слишком длинный текст сообщения. Рекомендуем отправлять сообщения не более 600 символов.

`Error:SyntaxError: Unexpected end of input` — встречается во Вконтакте, если не правильно выстроили логику бота, чаще всего в условном блоке. Проверьте условие в условном блоке и повторите попытку.

`Bad Request: BUTTON_DATA_INVALID` — встречается в Telegram, превышено количество символов в инлайн кнопке (серого цвета в области диалога). Исправьте, чтобы в тексте кнопки было не более 21 символа считая пробелы.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Логика работы блока CRM.

Разберем на примере опроса. Пользователь отвечая на вопросы отправляет в чат свои ответы. Ответы мы сохраняем в Context переменные в блоке сообщений, где задается вопрос.

Для сохранения данных [ответов] в переменную, в блоке сообщений, ставим «Подождать ответ» и задаем переменную. Переменная может состоять из латинских букв и/или цифр.

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

Настройка блока сохранения данных в CRM, в группе сообщений.

Переходим во вкладку «Блок схемы» и в группу сообщений. Добавляем блок сохранения данных в CRM.

CRM 5

ВАЖНО! Чтобы блок сохранения в CRM был в конце всех блоков сообщений, нажимаем «Редактировать», переходим к настройке блока.

В блоке сохранения выбираем галочкой таблицу CRM, которую создали ранее. Нажимаем «Сохранить».

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

Возвращаемся обратно в CRM и настраиваем таблицу.

CRM 6

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Преобразование дат

Бот преобразует фразы сегодня, завтра и так далее, к значению дата (сегодня) + N дней.

Преобразование дат

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Реакция на сообщение

Отправляем сообщение при условии срабатывания фильтра пользователей, с настройками реакции на сообщение и времени отправки.

Рассылка

(1) — переключатель сохранения сообщения. По умолчанию опция выключена.

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

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

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

(3) — реакция на сообщение. В списке есть 2 опции:

  • после первого взаимодействия;
  • после последнего взаимодействия.

Пример для опции после первого взаимодействия

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

Для этого устанавливаем реакцию на сообщение «после первого взаимодействия», время отправки ставим 3 дня.

Задаем настройки в фильтре пользователей, название, текст сообщения. Переключатель (1) переводим в положение включить и нажимаем кнопку «Сохранить».

Пример для опции после последнего взаимодействия

Нам нужно, чтобы подписчик получил сообщение об оценке качества ответа на его вопрос, после завершения диалога с ботом через 10 минут. Для этого устанавливаем реакцию на сообщение «после последнего взаимодействия» и время отправки ставим 10 минут. Задаем настройки в фильтре пользователей, название, текст сообщения. Переключатель (1) в положение включить и нажимаем кнопку «Сохранить».

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

(4) — время отправки сообщения (задается в минутах, часах, днях).

(5) — кнопка «Сохранить». Сохраняет отправку сообщения по реакции.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Блок сообщений

Чтобы попасть в настройки блока сообщений кликаем на кнопку «Редактировать» в созданной группе сообщений.

Блок сообщений — это самый главный блок, без которого нельзя построить самого простого бота. Кликаем на кнопку «Добавить блок сообщений» и создаем блок сообщений.

Настройки блока сообщений.

Блок сообщений

Создали блок сообщений (1), название по умолчанию «Сообщение». Изменить имя по умолчанию — вводим название (2), которое нужно.

Стартовое сообщение — начало группы сообщений. Если поставите галочку, то группа начнет работать именно с этого блока сообщений. На скриншоте вверху, виден блок «Приветствие», с точкой в верхнем правом углу — обозначает стартовое сообщение.

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

Пример

tel — переменная для сохранения телефона.

ww2 — произвольная переменная.

Если не ставить галочку «Подождать ответа», то будет переход к другому сообщению, которое указано в ссылке по умолчанию. Когда не указана ссылка по умолчанию, то бот не будет далее реагировать на запросы.

Включить markdown — опция для подсвечивания текста в Telegram. При создании текста вставьте символы, которые указаны ниже в примере

Пример

*bold text* — жирный шрифт;
_italic text_ — курсивный шрифт;
[inline URL](http://www.example.com/) — активная ссылка. В [квадратных скобках] указывается текст ссылки.
В (круглых скобках) указывается ссылка на в формате http.
`inline fixed-width code` — моноширный шрифт.

Примеры отображения форматирования текста на картинке

Блок сообщений

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

Пример

Есть блок 1 и блок 2, без ссылки по умолчанию. У второго блока время ввода стоит в 5 секунд. После того, как блок 1 сработает, пройдет 5 секунд и появится блок 2.

Текст сообщения (3) — текст любой длины (смайлики поддерживаются, вставляются прямо в текст).

Вставить имя — вставляется шаблон имени в формате first_name — имя, last_name — фамилия. Если нужно персонализировать сообщение, то используйте шаблон имени.

Шаблоны имен для разных социальных сетей, мессенджеров.

ВКонтакте:
first_name – имя;
last_name – фамилия.

Telegram:
first_name – имя;
last_name — фамилия.
Telegram.start — содержит параметр переданный вместе с последней (для определенного пользователя) командой /start боту.

Viber:
name – имя.

Facebook Messenger:
first_name – имя.
last_name – фамилия.

Одноклассники:
name – имя.

Skype:
name – имя.

Пример

В тексте сообщения пишем: «Привет, first_name! Как дела?»

У пользователя отображается в чате: «Привет, Сергей! Как дела?»

Вставить Context переменную — вставляется шаблон переменной, в формате Context.имя переменной, где имя переменной — сохраненные ранее данные.

Пример

У пользователя запрашиваем адрес и т.п. контактные данные.

Для адреса назначаем переменную address, для телефона phone.

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

first_name, подтвердите введенные данные:
Context.address
Context.phone

Все верно?

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

Ссылка по умолчанию — переход к другому блоку в любом месте чат-бота.

Пример

Есть блок 1 и блок 2. Если в блоке 1, не стоит галочка «Подождать ответа» и стоит ссылка по умолчанию на блок 2, то произойдет переход из блока 1 в блок 2 с учетом только времени ввода.

(4) Добавление контента и переходов — возможность прикрепления контента (видео, аудио, изображений) к сообщению или их отправка отдельно.

Технические ограничения для контента:
Видео — не более 30 Мб;
Аудио — не более 30 Мб;
Изображение — не более 10 Мб.

Переходы, включают в себя 2 кнопки — клавиатура и кнопки.

Клавиатура — быстрые ответы от пользователя. Использовать можно в нескольких вариациях.

Блок сообщений

Вариант 1: назначаем ответы, через условный блок переводим далее в нужный блок. Пользователь делает выбор и переходит дальше.

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

Кнопки — переход в другие блоки внутри бота или по URL ссылке. Выбираем, как будет работать переход, назначаем блок или вводим ссылку.

Блок сообщений

Текст кнопки (1). Для Telegram не более 20 символа вместе с пробелами. (2) — ссылка на сообщение.

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

Блок сообщений

(1) — текст кнопки (для Telegram ограничение не более 21 символа, включая пробелы)
(2) — URL ссылка.

Пример

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

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Сообщение по расписанию

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

Рассылка

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

  • Даты. Выбор происходит по клику на выбранный день календаря.
  • Времени. Время прописывается в 24-часовом формате. Пример: 18:45.
  • Часового пояса пользователя. Рассылка уходит в зависимости от часового пользователя подписчика.
  • Повторности. Задается периодичность отправки сообщения: каждый день, выходные дни, каждый месяц, рабочие дни, свой вариант (выбор дней недели). Сообщение отправляется каждый заданный период в одно и тоже время до тех пор, пока его не отключить.

Пример

Нужно отправить сообщение 05.02.2020 в 15:00 о начале акции.

Для этого устанавливаем дату 05.02.2020 и время 15:00.

Задаем настройки в фильтре пользователей, название, текст сообщения. Переключатель (1) в положение включить и нажимаем кнопку «Сохранить».

Сообщение уйдет точно по расписанию.

Настройка глобальной переменной в рассылке по расписанию

Переходим в рассылки по расписанию. Рассылки > Рассылки по расписанию, добавляем новую рассылку.

Добавляем javascript выражение 

const date = new Date(Global.myDate);const days = 2;date.setDate(date.getDate() + days);date; 

Где const date это дата, по которой будет срабатывать рассылка. Она постоянная.

Global.myDate — глобальная переменная

const days = 2 — указание дней, которые нужно добавить или отнять от Global.myDate

date.getDate() — days — указание на выражение со знаком минус. Если нам нужно прибавить дни к дате, тогда меняем минус на плюс. Будет так: date.getDate() + days 

После добавления в выражение нужных параметров нажмите вверху на кнопку “Тумблер”, добавьте контент и сохраните рассылку. 

Рассылка уйдет в выбранную дату.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Условный блок

Работа условного блока — ветвление логики бота.

Пример

В процессе диалога нужно перевести подписчика на оператора. Как можно это сделать?

Шаг 1 из 3

Чтобы создать условие, нужно добавить условный блок (1) в группе сообщений.

Условный блок

Шаг 2 из 3

В блоке сообщений «Приветствие» сохраняем ответы в переменную и переводим в условный блок. Получаем такую схему, в условном блоке (1) срабатывает условие и далее переводит подписчика в блок сообщений (2) или (3) в зависимости от того, какой выбор он сделал.

Условный блок

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

Шаг 3 из 3

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

Условный блок

В предыдущем блоке «Приветствие» сохранили ответ в переменную privet.
Прописываем условие с переходом к блоку сообщений «Имя». Выглядит оно так:

Context.privet == "Попасть бесплатно"

Где, Context.privet — переменная, в которую сохраняем ответ от подписчика. Далее ставим пробел, двойное равно, пробел и в кавычках указываем ответ, который указывали в блоке «Приветствие» Таким образом получаем выражение, по которому выполняется условие, и подписчик переходит в блок «Имя». Точно такой же порядок действий и с другим условием.


Выше рассмотрели легкий вариант. А что если нам нужно сделать двойное условие с выбором опции И / ИЛИ? Для этой задачи подойдет обычный режим условного блока

Пример. Вариант с «ИЛИ»

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

Context.param == "Попасть бесплатно" || Context.param2 == "Хочу торт"

Пример. Вариант с «И»

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

Context.param == "Попасть бесплатно" && Context.param2 == "Хочу торт"

Пример. Вариант с неверным значением

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

Context.param != "Попасть бесплатно"

После этого условия вы переводите в другой блок подписчика

 

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Блок API

API — (программный интерфейс приложения, интерфейс прикладного программирования) (англ. application programming interface) — описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой.

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

Пример

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

Самый простой для доступа к API — сервис погоды openweathermap.org.

Регистрируемся и получаем ключ приложения (APPID) по ссылке. Обычно ключ дублируется в email письме подтверждения.

Тестируем наш запрос в браузерной строке с городом Москва. Он выглядит так: http://api.openweathermap.org/data/2.5/weather?q=Москва&APPID=c12618e22638e74315c4cb17c85896d7

Ответ от сервера получаем такой

Блок API

Для удобства копируем код запроса в json валидатор, например https://jsonlint.com/ и смотрим структуру запроса. Она выглядит так:

Блок API 2

Температура находится в строке 14, параметр main.temp и равна 273,15 (Температура по Фаренгейту).

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

Создаем группу сообщений, добавляем 3 блока сообщений, 1 блок API, 1 условный блок. Цепочка выглядит так:

Блок API 3

Переходим в блок сообщения под именем «Название города» и смотрим, что внутри.

Блок API 4

Этот блок является стартовым сообщением, с опцией «подождать ответ». Cохраняем ответа от пользователя в контекстную переменную «city». Текстом сообщения: «Введите город» и ссылкой по умолчанию на блок «API».

В блоке «Название города» спрашиваем у подписчика бота, в каком городе он хочет узнать погоду. Ответ сохраняем в переменную и переходим в блок «API».

Блок API 5

Включена опция «Дождаться ответа удаленного сервиса». Означает что запросы будут отправляться до тех пор, пока не получится результат. Положительный или отрицательный.

В поле «Ссылка» копируем http запрос к API сервиса погоды. Ссылка выглядит так: http://api.openweathermap.org/data/2.5/weather

Тип запроса – get.

Заголовки

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

Параметры

Параметры можно передавать в http запрос, переменные и постоянные. Слева название параметра, справа значение. В нашем примере используем опцию.

Параметр «q» — передается в http запросе и соответствует контекстной переменной «city». Является переменным параметром, так как от каждого подписчика получаем запросы к разным городам. Полученная информация от подписчика подставляется в запрос к API погоды.

Параметр APPID соответствует полученному API ключу в сервисе погоды. Является постоянным параметром, так как каждый запрос обращается с конкретным ключом доступа.

Сохранение результатов

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

При ошибке, значение «cod» будет 404 и сохранится в переменную «error». Полученная температура имеет путь main.temp, значение сохраняем в переменную «temp».

Настройки блока API закончили и переходим в условный блок для сравнения ответа от сервера.

Блок API 6

Условие Context.error!=»404″ означает, что при коде ошибке НЕ РАВНОМ 404 происходит переход в блок «Успех».

Условие Context.error==»404″ означает, что при коде ошибке 404 происходит переход в блок «Повторный запрос».

Переходим в блок «Успех».

Блок API 7

Текст сообщения: «Погода в Context.city Context.temp градусов».

Вместо переменных подставляются полученные значения от сервера и финальный ответ выглядит так: Погода в Москве 274.72 градусов.

Блок API 8

Переходим в блок «Повторный запрос».

Блок API 9

Текст сообщения: «Не верно. Введите заново город». Ответ от пользователя сохраняем в переменную «city» и происходит переход в блок «API» для нового запроса к серверу.

Остались вопросы?

Напишите нам в техническую поддержку

Vkontakte Telegram Чат

Спасибо за /обращение, мы скоро с тобой свяжемся!

Bot Kits — помогаем упростить процесс общения с клиентами.

Спасибо