Чат-бот для группы VK

В данной статье пошагово описывается процесс подключения группы Вконтакте к проекту и дальнейшая настройка на платформе Salebot

Основные разделы статьи:

Подключение группы ВКонтакте

Для подключения сообщества Вконтакте, Вам необходимо перейти в раздел "Каналы" и выбрать Вконтакте.

Подключение бота ВКонтакте

Если ранее Вы не авторизовывались через Вконтакте на Salebot, то увидите кнопку "Подключить Вконтакте", на которую необходимо кликнуть:

Авторизация Вконтакте для получения списка групп, в которых Вы являетесь Администратором

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

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

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

В качестве примера подключим группу “Тест”.

После нажатия "Подключить" необходимо разрешить системе доступ к основным разделам группы ВКонтакте (здесь также жмем Разрешить).

Выдача разрешения доступа к основным разделам группы

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

После успешного подключения группы она появится в списке ботов Вконтакте.

Список ботов ВКонтакте

На этом подключение бота к группе ВКонтакте завершено.

Видео-инструкция

Установка приложения Salebot в сообщество ВКонтакте

Для работы с Подписной страницей Вконтакте, необходимо установить в сообщество ВКонтакте приложение Salebot .

Ссылку на приложение можно получить на платформе Salebot в разделе Сайты- создать сайт - Страница сайта - Настройки - Мессенджеры - нажать на ссылку для установки приложения:

Далее выберите сообщество, в которое необходимо добавить приложение Salebot:

Уведомления о прочтении сообщений

Для клиентов ВК есть возможность включить функцию прочитанности сообщений.

Для этого в разделе Каналы для группы ВК необходимо переключить бегунок Прочитанность сообщений.

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

В рассылках при включенной Прочитанности сообщений появляется статистика. На примере ниже в рассылке 24 сообщений ВК, из них просмотрено 12

На прочитанные сообщения можно установить уведомления.

Для этого в блоке с сообщением необходимо включить значок с двумя галочками.

В работе с Вконтакте учитывайте следующее:

  1. Максимальная длина текстового сообщения 4096 символов

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

  3. К сообщению можно прикрепить максимум 10 вложений

  4. Сообщение можно редактировать в течение 24ч

Параметр уведомление о прочтении: message_read

Пример Уведомления о прочтении для запуска блока с условием

Как прописать метку в прямой ссылке на сообщения группы ВКонтакте

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

Для чего это можно использовать:

1. Оценивать эффективность контента, в котором даёте помеченную ссылку на сообщения группы и призываете написать вам. 2. Для запуска в боте определенной ветки воронки, проверяя наличие переменной/метки. Давать разный контент в зависимости от того, откуда пришел пользователь.

Как пользоваться:

  • Ссылка на бота Вашей группы отображена рядом именем группы в списке ботов Вконтакте, скопируйте ее

  • Дописываем к полученной ссылке метки Передать можно два параметра: ref и ref_source

Получаем ссылку следующего вида: https://vk.com/im?sel=-198248940&ref=параметр1&ref_source=параметр2 вместо “параметр1” и “параметр2” вписываете значения своих меток

Есть еще 2 варианта ссылок: vk.me/group_name?ref=параметр1&ref_source=параметр2 где group_name - идентификатор вашего сообщества

или

vk.com/write-group_id?ref=параметр1&ref_source=параметр2 где group_id - уникальный числовой идентификатор сообщества

Пример использования

Отследим, сколько пользователей пришло в https://vk.com/public202836320 с телеграм канала Test. Для начала соберем ссылку, например, такую: vk.me/public202836320?ref=telegram&ref_source=test

или вот такую:

vk.com/write-202836320?ref=telegram&ref_source=test

Обратите внимание, что в ссылке должен быть только один знак вопроса ?, далее мы присоединяем параметры через знак апмерсанта &

И разместим в канале, при переходе по данным ссылкам откроется диалог и на любое сообщение пользователя ему запишется две переменные в Salebot:

Получение меток из прямых ссылок ВКонтакте

Автоматизация группы с помощью Salebot

Заходим в Каналы, включаем все события для бота, как на скрине:

Подключение событий, на которые должен реагировать наш бот

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

1. Событие: Пользователь оставил новый комментарий

client_wall_reply_new

Колбек приходит в виде:

где 10 — id поста, под которым был оставлен комментарий "круто!" — текст оставленного комментария

Дополнительные параметры сохраняются в переменные:

Дополнительные переменные коллбэка на событие Пользователь оставил комментарий

wall_reply_text — текст комментария, который оставил пользователь

wall_reply_id — id комментария

wall_reply_post_id —id поста, который комментируют

wall_reply_to_user — id пользователя, которому ответили

wall_reply_to_comment — id комментария, который оставили

2. Событие: Пользователь сделал репост записи себе на стену

client_wall_repost

в данном случае 1 — это id поста, который репостнули

Дополнительные параметры сохраняются в переменные:

Дополнительные переменные к коллбэку на событие Пользователь сделал репост

wall_repost_text — текст, который пользователь добавляет к репосту

wall_repost_post_id — id поста, который репостнули

3. Событие: Вступление в группу

client_group_join

Когда у вас добавится новый подписчик, коллбэк будет отображаться так:

4. Событие: Выход из группы

client_group_leave

5. Событие: Клиент лайкнул пост

client_liked_post

Вы можете настраивать разные реакции на коллбэки. Например, присылать сообщение клиенту в лс:

Пример ответа бота из карточки клиента
Пример ответа бота Вконтакте

В примере в условии стартового блока прописано только тело колбека "client_liked_post" без ID поста — в таком бот будет реагировать на лайк под любым постом.

Если в условии указать весь текст колбека (тело колбека + ID поста), а в выборе соответствия установить "Полное совпадение", то бот будет реагировать на лайки только под определенным постом (ID которого передан в условии):

Такое вы увидите, если клиент не дал разрешение на отправку сообщений или не писал ничего ранее в личные сообщения группы

Колбеки:

client_group_join request - подан запрос на вступление в группу client_group_join approved - клиент принят в группу

6. Событие: Реакция на сообщение

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

react 2 on 629 - 2 реакция на cmID 629

cancel reaction on 629 - отменил ранее поставленную реакцию на cmID 629

Как работать с комментариями под постами ВКонтакте

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

Для этого заходите в Вашу группу ВКонтакте, открываете Управление / Дополнительно / Работа с API:

Нажимаете "Создать ключ" и копируете его.

Дальше переходите в Salebot, раздел Каналы, и для подключенного бота ВКонтакте выбираете "Показать токены".

В открывшейся форме вставляете скопированный токен и нажимаете на кнопку "Добавить".

Добавление ключа для комментирования на стене сообщества ВКонтакте

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

Все возможные функции работы с комментариями для ВКонтакте можно увидеть в этой статье:

Видеогид

Настройка Чат-бота для группы

1. Подключение Чат-бота в группу

Чтобы можно было добавить бота в чат группы Вконтакте, необходимо в настройках включить это разрешение:

Подключение возможностей бота

Бот с правами администратора видит все сообщения в чате. Если бот не обладает этими правами, бот видит только те сообщения, где его упомянули через символ @

Общие переменные чата:

Переменные для чата
Описание переменной

from_id

идентификатор того, кто отправил последнее сообщение

conversation_message_id

идентификатор последнего сообщения

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

Переменные для чата
Описание переменной

from_id

идентификатор того, кто процитировал

reply_from_id

идентификатор того, кого процитировали

reply_text

текст сообщения, которое было процитировано

reply_attachments

вложение, которое было процитировано

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

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

Ограничения при использовании кнопок:

Клавиатура может отображаться внутри сообщения — это inline-отображение. Чтобы включить его, передайте параметр inline в объект клавиатуры. Её максимальный размер составит 5 × 6. Максимальное количество клавиш: 10.

По умолчанию, если не передан параметр inline, клавиатура показывается под полем ввода в диалоге с пользователем (reply). Максимальный размер стандартной клавиатуры — 5 × 10. Максимальное количество клавиш: 40.

2. Исключение пользователя из беседы

vk_remove_chat_user(member_id)

где member_id — id пользователя, которого нужно исключить. Здесь же вы можете использовать значение from_id.

Пример: исключение из чата при отправке ключевого слова.

Бот удалит из чата того, кто прислал этот текст

3. Как получить имя пользователя

vk_get_name(from_id, full)

где full может принимать значение True (вы получите имя и фамилию) и False (получите только имя)

4. Как удалить последнее сообщение в беседе

vk_delete_last_message()

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

5. Как отправить стикер

vk_send_sticker(platform_id, sticker_id)

где platform_id — id клиента в мессенджере, sticker_id — id стикера.

Как узнать id стикера? Тот, кто подключал бота ВК, отправляет в бота нужный стикер. Его id при этом записывается в переменную. Значение переменной копируете из раздела Клиенты (см скрин:)

Пример: отправка стикера

Результат:

6. Как обработать реакцию на сторис ВКонтакте

Если клиент отреагировал на сторис, в диалог автоматически придет уведомление об этом:

Данные о сторис будут в разделе "Информация о клиенте" в переменных:

story_id - идентификатор сторис

story_owner_id - владелец сторис

Html-разметка для сообщений

Для сообщений бота Вконтакте доступна html-разметка.

<b> жирный текст </b>

<strong> жирный текст </strong>

<em> курсив </em>

<u> подчеркивание </u>

<a href="ссылка"> отображаемый текст </a>

Внимание! Не забудьте активировать кнопку html, чтобы функция разметки применилась к тексту.

Кармабот для группы

Схему кармабота собирать не нужно, мы сделали это за вас! В разделе Шаблоны уже есть готовая воронка, ее нужно только установить и настроить. По ссылке ниже вы найдете подробное описание.

1. Как настроить кармабот внутри ВК

Для работы Кармабота вам необходимо создать отдельную группу в ВК. В разделе "Управление - Сообщения - Работа в боте" вам необходимо поставить галочку "Разрешать добавлять сообщество в чаты"

После этого в меню группы Кармабота добавится следующее:

Нажимаете и выбираете, в какой чат добавлять будущего бота:

Далее заходите в группу, где находится эта беседа. Нажимаете в меню справа Управление → Чаты→ Настроить:

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

2. Что умеет делать Кармабот:

  • начислять +1 кармы, если один пользователь процитировал другого и поблагодарил

  • начислять +5 к карме по команде

  • исключать из чата по команде "бан"

  • удалять сообщения с нецензурными словами

Если участник чата благодарит сам себя, ему приходит сообщение:

Если забывает процитировать другого, то получает напоминание:

Если цитируют самого Кармабота, то:

Карма начисляется автоматически, если один пользователь цитирует другого и пишет ему "спасибо" и другие слова благодарности

Как получить Лидформу Вконтакте (ответы из Форм сбора заявок)

1. Как подключить Форму заявок к сообществу

Перейдите в Управление → Приложения вашего сообщества → Показать все:

Сбор заявок → выберите приложение “Форма сбора заявок”

2. Как настроить лидформу

Чтобы настроить лидформу, нажмите на "Изменить" в Форме сбора заявок:

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

3. Как получить данные лидформы в бот

Чтобы в Ваш бот передавались ответы из Форм сбора заявок, включите переключатель "Заполнение лидформы" в настройках подключенного канала

4. Как активировать лидформу нашего сообщества

После настройки формы нажимаем “Активировать”, копируем ссылку:

Далее в управлении сообществом идем в раздел “Меню”, добавляем новую ссылку.

Заполните название ссылки и добавьте ссылку на вашу форму:

Ваш клиент будет видит форму в соответствии с выполненными Вами настройками

После заполнения данных клиентом значения будут переданы в карточку клиента с соответствующим коллбэком lead_forms_new

Как получить полный Вебхук Вконтакте

Вебхук (Webhook) - это возможность встроить уведомления на платформу о произошедшем событии, содержащее значения измененных переменных.

Для получения полного вебхука от ВКонтакте достаточно присвоить любое значение переменной save_webhook (переменная может быть как константой проекта, так и переменной сделки). При этом запрос от ВКонтакте будет записан в переменную vk_request.

remove_last_message() – для удаления последнего сообщения от бота

Если вы включали переключатель "сохранить в истории переписки", то для ТГ/ВК можно удалить последнее сообщение через рассылку из блока, где в калькуляторе прописать remove_last_message(). Функция удаляет последнее отправленное ботом сообщение, но только если оно есть в истории переписки.

Пример:

Создаем блок для рассылки:

Во вкладке отправка активируйте чекбокс "Сохранять рассылку в истории переписки с клиентом":

Важно! Чтобы чекбокс "Сохранить рассылку в истории переписки клиентом" отображался во вкладке "Отправка", отключите в разделе каналы прочитанность сообщений для групп вконтакте:

Далее смело отправляйте рассылку.

Если вдруг вы хотите удалить последнее сообщение (например, сообщение с ошибкой), то удалить последнее сообщение можно одним блоком с функцией remove_last_message()

Далее отправляйте рассылку с функцией удаления последнего сообщения.

Проверка подписки

Last updated

Was this helpful?