FAQ

CHATBOT

Что делать, если бот работает в тестовом окне, но не работает в мессенджере?

Ваш тариф либо не оплачен, либо оплачен не тот тариф.

circle-exclamation

Как получить корректный (или правильный) номер телефона от клиента?

Нужно добавить валидацию номера телефона с помощью regex.

Регулярные выражения позволяют боту проверять, что введённые данные имеют правильный формат (например, что это номер телефона, а не что-то другое).

chevron-rightКак выполнить проверку?hashtag

При общении с клиентами часто нужно потом связаться по телефону. Так как же чат-боту автоматически собирать данные клиента? Ответ прост — с помощью регулярных выражений.

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

  1. Номер телефона (Россия): ^((\+7|7|8)+([0-9]){10})$ поменять страну и номер

  2. Номер телефона (с кодом страны): ^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$

  3. Email: ^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$

triangle-exclamation
circle-info

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

Как бот сохранял имя и возраст клиента, так он сохранит и номер телефона или email пользователя (если вы используете правильное регулярное выражение).

Создайте блок, в котором бот отправляет сообщение с просьбой прислать номер телефона (или email):

Блок с сообщением для сбора номера телефона клиента

Далее соедините из этого блока стрелку и задайте в качестве условия стрелки подходящее регулярное выражение.

circle-check

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

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

Из блока, где вы попросили клиента прислать номер телефона, создайте вторую стрелку и в новом блоке напишите сообщение вроде: «Это не номер телефона. Пожалуйста, введите ваш номер телефона!»

Выберите тип блока «Без состояния» (см. скриншот выше). У этого типа блока нет условий, как у блока «Состояние диалога», и перейти к нему напрямую нельзя.

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

circle-info

Подробнее о блоке «Без состояния» и его возможностях вы можете прочитать в статье «Блок без состояния». ссылка

circle-info

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

Как узнать количество подписчиков бота?

В разделе «Аналитика» отображается как общее количество клиентов, так и их количество по мессенджерам. ссылка

Как сделать, чтобы бот сам начинал диалог

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

circle-info

Статья «Первое сообщение в мессенджерах» находится здесь. ссылка

Как отправить сообщение «Фоллоу-ап»?

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

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

circle-info

Подробнее о том, как работают такие блоки, можно прочитать в статье «Блоки без состояния». ссылка

Также мы используем таймер (задержку) в стрелках и ВКЛЮЧАЕМ переключатель «Отменять, если вышел из блока».

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

Как сделать последовательность из 2-3 сообщений, чтобы она открывалась сразу?

Нужно соединить блоки стрелками и установить задержку 0 секунд в настройках соединения стрелки.

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

Нужно установить задержку после ответа оператора.

Как отследить, перешёл ли человек по ссылке из предыдущего сообщения?

Для этого нужно использовать функцию proxy-link.

Создадим переменную link и присвоим ей значение proxy() с вашей ссылкой:

Далее создадим кнопку, у которой в URL будет указана переменная link:

Добавьте кнопку в блок и протестируйте её. В переписке с клиентом вы увидите уведомление в соответствующем разделе такого вида:

Видеоурок

Я хочу запустить таргетированную рекламу на этого бота. Где мне взять его ссылку?

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

Использовать сайт или лендинг не обязательно; можно просто использовать proxy-ссылки.

triangle-exclamation

Функция «Временная задержка» используется для отправки сообщения в заданное время и дату?

Да, верно. Сообщение будет отправлено в дату и время, указанные в настройках стрелки (соединения).

Если задана задержка перед отправкой, то она будет добавлена к указанному времени. Например, сообщение будет отправлено 21.07.2025 в 11:00, потому что задержка, заданная в поле «Задержка перед ответом», прибавляется ко времени, указанному в поле «Время отправки».

Можно ли создать двух разных ботов в одном аккаунте?

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

Можно ли настроить стрелку по таймеру с условием перехода так, чтобы она не ставилась на каждое сообщение клиента?

Если по какой-то причине вы отключили «Отменять сообщения по таймеру», но всё равно используете переход по таймеру с условием, рекомендуем добавить #{question} в поле «Строки, на которые не отвечать».

Почему текст "&para", написанный в блоке, заменяется на "¶"?

К сожалению, в этом случае срабатывает сам браузер, который, обнаружив, как ему кажется, ошибку, автоматически заменяет &para на ¶, после чего это отображается как символ "¶". Чтобы избежать этой проблемы, рекомендуем использовать вместо этого &Para.

Можно ли настроить уведомления нашему администратору, когда клиент пишет сообщение в онлайн-чате?

Да, можно. Подробнее об этом можно прочитать в статье:

Можно ли сделать разные ссылки на бота с разной логикой?

chevron-rightСообщение в поддержку:hashtag

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

Можно ли сделать это с помощью одного бота?

Иными словами, одна ссылка будет в шапке профиля Telegram, а другая будет использоваться в нашей рекламе, и мы хотим разделить эти два канала, используя одного бота».

Да, вы можете создать два сайта (лендинга) в конструкторе и назначить каждому свой тег:

  1. Создайте два сайта с разными тегами:

  1. Затем в стартовых блоках укажите теги в условии блока:

а) Другими словами, когда пользователь переходит в мессенджер через лендинг «Сайт курса», сработает такая настройка:

б) Когда пользователь переходит в мессенджер с лендинга «Обучение», сработает вторая воронка:

Можно ли отправить сообщение на следующий день после первого сообщения бота?

chevron-rightСообщение в поддержку: hashtag

«У меня следующая ситуация: человек нажимает на рекламу и заходит в бота, получая приветственное сообщение. Мне нужно отправить ему ссылку ровно в 12:00 на следующий день. Как это настроить?»

Да, можно. В поле "дата отправки" на стрелке нужно указать переменную next_day вместе с нужным временем отправки.

Как настроить бота так, чтобы он не мешал общению между клиентами и операторами?

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

Обратный отсчёт начинается с момента, когда оператор отправляет сообщение. Если вы случайно указали слишком большое значение, и бот слишком долго не отвечает клиенту, поставьте в поле 0 и сообщите об этом клиенту.

Как настроить отписку через чат-бота?

ВЛОЖЕНИЯ ФАЙЛОВ

Можно ли прикреплять изображения?

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

circle-info

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

Как отправить несколько изображений (файлов)?

Теперь блоки поддерживают добавление нескольких вложений одного типа:

Также можно создать несколько последовательных блоков, каждый из которых будет отправлять вложение без текста, указав в поле ответа переменную #{none}.

Почему вместо файлов приходят ссылки?

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

Вот некоторые особенности отправки файлов:

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

  2. Если вы отправляете файл ссылкой, убедитесь, что ссылка работает.

  3. Видеофайлы, отправленные как «видео для просмотра», не поддерживаются.

  4. При удалении блока удаляется и прикреплённый к нему файл.

Как сделать, чтобы отображался предпросмотр ссылки?

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

Преобразование ссылки в красивый предпросмотр при отправке в соцсети или мессенджеры, такие как Telegram, WhatsApp, Facebook обеспечивается разметкой Open Graph.

Разметка Open Graph состоит из дополнительных метатегов, которые включают заголовок (og:title), описание (og:description) и изображение (og:image).

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

Какой максимальный размер файла?

Максимальный размер файла для загрузки в конструкторе — 20 МБ; при отправке по ссылке ограничений по размеру нет.

Как отправить случайный текст или изображение?

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

Формат функции:

random(low, high) - Чтобы получить случайное число, функция принимает на вход два параметра: нижнюю и верхнюю границу. Пример: random(-10,10) Результат — целое число от -10 до 10.

Получение случайного значения из набора данных

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

Рассмотрим пример с массивом:

  1. Объявление массива: text = { "1": "Вас ждёт солнечная Италия", "2": "Думаю, модная Франция поднимет вам настроение", "3": "Пора посетить берега родного Крыма", "4": "Исследуйте уголки своей Родины" }

    picture = { "1": "https://i.ibb.co/k4prZK0/itperv.jpg", "2": "https://i.ibb.co/mTthk8t/image.jpg", "3": "https://i.ibb.co/dJ1d6XK/5d42d4f8a593ad12cf3fb394-1.jpg", "4": "https://i.ibb.co/Y3YYGQD/DSCF6408-2.jpg" }

  2. Выберите случайное значение: vibor=random(1,4)

  3. Получите значения из массивов по выбранному числу: txt = get(text, '#{vibor}') pct = get(picture,'#{vibor}')

  4. Выведите результаты клиенту. Пример:

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

ВОРОНКА

Как разделить воронку по мессенджерам?

Чтобы определить, из какого мессенджера пришёл клиент, есть встроенные переменные #{client_type} и #{messenger}. Обе содержат информацию о мессенджере, но #{client_type} возвращает число, а #{messenger} — название.

Например, если человек пришёл из Online Chat, #{client_type} вернёт 5, а #{messenger} — «Online-чат».

Вот значения для client_type:

Значение
Мессенджер

1

Telegram

2

Viber

3

Facebook messenger

5

online chat

10

Instagram

14

e-mail

16

Telegram Business Account

circle-info

Подробнее о переменных можно прочитать здесь. ссылка

Рассмотрим несколько примеров:

Чтобы определить, из какого мессенджера пишет клиент, создайте 3 ветки. В поле «Переменная для сравнения» у каждой стрелки укажите соответствующие условия:

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

  1. Если клиент пишет через Telegram, он перейдёт в блок с названием «Вы из Telegram»:

  1. Если клиент пишет из другого мессенджера или онлайн-чата, он перейдёт в блок с названием «Вы не из Telegram»:

Как разделить воронку по разным логинам?

Для пользователей, подключённых к нескольким аккаунтам в одном и том же мессенджере, может быть сложно разделить логику воронки по аккаунтам. Для решения этой задачи есть встроенная переменная #{group}. Она возвращает идентификатор аккаунта бота, с которым взаимодействует клиент.

Пример:

В разделе «Каналы» подключены два Telegram-бота. Скопируйте group_id:

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

Разделите воронки в стартовых блоках:

В этих блоках условия запуска воронки одинаковые, но поле «Переменная для сравнения» проверяет значение переменной group.

Этот блок с условием «start» сработает только в соответствующем боте:

Чтобы разделить воронку по логинам бота, можно также сравнивать значение переменной group в соединениях (стрелках). Так, в зависимости от того, каким ботом пользуется клиент, на определённых этапах воронки пользователи будут получать разные сообщения.

Вот один из способов настроить стрелки
circle-info

Подробнее о переменных можно прочитать здесь. ссылка

Как уведомить администратора, если пользователь отправил сообщение вне воронки?

Есть несколько способов это сделать.

Вариант 1: Создайте блок «Без состояния с условием», который реагирует на сообщения вне заданных условий бота, и настройте калькулятор: message(187235469, 'Задал вопрос https://mavibot.ai/projects/#{project_id}/clients/#{client_id}'), где первый параметр (187235469) — это client_id менеджера.

circle-info

Подробнее о том, как работает функция message(), можно узнать в этой статье. ссылка

Вариант 2:

В настройках проекта в поле «Сообщение, если бот не знает ответ» укажите:

#{substring(message(187235469,'Задал вопрос https://salebot.pro/projects/#{project_id}/clients/#{client_id}'),4)}.

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

ДРУГОЕ

Где найти номер проекта?

Номер проекта можно найти в адресной строке браузера:

Также его можно найти в списке проектов:

Как обновить кэш ссылки Open Graph?

Telegram

Запустите бота @webpagebot и отправьте нужную ссылку. Затем очистите кэш, выбрав одну из команд [update …].

Facebook

Перейдите на страницу отладчика публикации, введите ссылку в поле и нажмите Debug. Затем выберите «Scrape again», чтобы обновить изображение и описание ссылки.

Для WhatsApp ссылки обычно обновляются автоматически.

Как проверить, состоит ли участник чата в определённом списке?

Вот как это применить на практике: Представьте, что вы выдали ссылку на закрытый чат. Да, ссылка одноразовая, но смекалистый клиент может зайти в чат с чужого аккаунта. Бот не видел этого пользователя раньше, поэтому не может исключить его после неоплаты — и он продолжает бесплатно потреблять ваш контент.

Чтобы этого избежать:

  • Добавьте платящих пользователей в список

  • Создайте отдельный список для кураторов/администраторов/VIP-участников

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

Итак, для такой настройки вам понадобятся функции: - add_to_list(номер списка)arrow-up-right- чтобы добавить пользователя в список - tg_create_chat_invite_link(platform_id, member_limit=None, hours=None, request=None) arrow-up-right - чтобы создать ссылку-приглашение в чат (обрабатывает callback) - some_client_in_list(list_id, recepient)arrow-up-right - чтобы проверить, состоит ли участник в определённом списке - tg_ban_chat_member(platform_id, user_id, hours=99999, revoke_messages=True)arrow-up-right - чтобы забанить пользователя чата

Как получить ссылки на мессенджеры?

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

Ссылки на мессенджеры можно найти в разделе «Каналы»:

Далее выберите мессенджер, ссылку на который вы хотите получить. У каждого подключённого мессенджера своя уникальная ссылка.

Также можно создать сайт, на котором будут отображаться все ссылки на мессенджеры:

Использовать сайт или лендинг не обязательно; можно просто использовать proxy-ссылки.

Последнее обновление