Salebot.pro
Search…
Вконтакте
Подключаем бота к группе Вконтакте

Подключение

Переходим в раздел "Мессенджеры и чаты" и выбираем Вконтакте.
Если вы ранее не авторизовывались через Вконтакте на salebot, то увидите такую кнопку. Нажимаем на нее.
Далее будет выведен список со всеми группами, в которых Вы являетесь админом, а следовательно, у Вас есть права для подключения к ним бота. В списке будут также отображены группы, у которых отключены сообщения. Чтобы включить сообщения группы, следуйте указаниям документации вконтакте. (Для включения сообщений необходимо перейти в настройки группы, в разделе "сообщения" поставить галочку "разрешить сообщения").
Если какая-то из ваших групп уже подключена к другому проекту, будет указан номер этого проекта.
В качестве примера подключим группу “Тест”.
После нажатия "Подключить" необходимо разрешить системе доступ к сообщениям группы в формах аутентификации ВКонтакте (здесь также жмем Разрешить). После успешного подключения группы она появится в списке.
Надо в настройках группы разрешить возможности для ботов, как показано на Рисунке 3. Без этого кнопки в боте работать не будут.
Рисунок 3
На этом подключение бота к группе ВКонтакте завершено

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

Вы можете отслеживать с какого именно места/источника перешел пользователь который пишет в сообщения группы.
Для чего это можно использовать:
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 с телеграм канала ТесТ. Для начала соберем ссылку, например такую: vk.me/public202836320?ref=telegram&ref_source=ТесТ
или вот такую
vk.com/write-202836320?ref=telegram&ref_source=ТесТ
И разместим в канале, при переходе по данным ссылкам откроется диалог и на любое сообщение пользователя ему запишется две переменные в salebot:

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

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

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

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 комментария, который оставили

Пользователь сделал репост записи себе на стену

client_wall_repost
в данном случае 10 — это id поста, который репостнули
Дополнительные параметры сохраняются в переменные:
wall_repost_text — текст, который пользователь добавляет к репосту
wall_repost_post_id — id поста, который репостнули

Вступление в группу

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

Выход из группы

client_group_leave

Клиент лайкнул пост

client_liked_post
в данном случае 11 — id поста, который лайкнули
Вы можете настраивать разные реакции на коллбэки, например, на лайк определенного поста. Например, присылать сообщение клиенту в лс:
здесь в условии стоит "11" это id поста, лайк под которым нужно проверять. Если убрать число, то реакция будет приходить на любой пост, который лайкнули
При лайке, репоста, вступлении в группу и выходе из неё клиент не создаётся
Если клиент не давал разрешения на сообщения или не писал ничего ранее в личные сообщения группы, то вы первым написать ему не сможете (например, приветствовать в личку сразу при вступлении в группу нельзя)
Такое вы увидите, если клиент не дал разрешение на отправку сообщений или не писал ничего ранее в лс группы

Работа с комментариями под постами

Работает только на тарифе "Премиум"
Чтобы иметь возможность отвечать под комментариями, нужно вручную добавить токен.
Для этого заходите в вашу группу ВК, открываете Управление / Работа с API.
Нажимаете "Создать ключ" и копируете его.
Дальше переходите в Salebot, раздел Мессенджеры и чаты, в подключении ВК выбираете "Показать токены". Сюда вставляете скопированный токен и жмете "Добавить".

Оставить комментарий на стене:

vk_create_comment(post_id, message, reply_to_comment, sticker_id)
где post_id — id комментируемого поста, message — текст комментария, reply_to_comment — id комментария, на который отвечаем (необязательный параметр), sticker_id — id стикера (необязательный параметр)
Если не передавать необязательные параметры, то функция будет выгдядеть так: vk_create_comment(post_id, message)

Работа бота в беседе

Чтобы можно было добавить бота в беседу, необходимо в настройках включить это разрешение:
Бот с правами администратора видит все сообщения в беседе. Если бот не обладает этими правами, бот видит только те сообщения, где его упомянули через символ @
Если в беседе кто-то перешлет сообщение, то в боте появятся эти переменные. В них будет указано кто и что процитировал.
from_id reply_from_id reply_text reply_attachments
Переменная from_id хранит идентификатор того, кто отправил сообщение.

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

vk_remove_chat_user(member_id)
где member_id — id пользователя, которого нужно исключить. Здесь же вы можете использовать значение from_id.
Пример: исключение из беседы при отправке ключевого слова.
Бот удалит из беседы того, кто прислал этот текст

Получить имя пользователя

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

Удалить последнее сообщение в беседе

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

Отправка стикера

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

Кармабот ВКонтакте

Настройка внутри ВК

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

Настройка в Salebot

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

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

    начислять +1 кармы, если один пользователь процитировал другого и поблагодарил
    начислять +5 к карме по команде
    исключать из чата по команде "бан"
    удалять сообщения с нецензурными словами
Если участник чата благодарит сам себя, ему приходит сообщение:
Если забывает процитировать другого, то получает напоминание:
Если цитируют самого Кармабота, то:

Начисляем карму

Для начала открываем раздел Клиенты, находим там наш чат и в нём устанавливаем переменную клиенту. Это будет словарь, в котором хранится вся карма.
Далее переходим в Воронки.
Карма начисляется автоматически, если один пользователь цитирует другого и пишет ему "спасибо" и другие слова благодарности
В поле "Переменная для сравнения" идёт сравнение с id группы Кармабота (оно записывается со знаком "минус").
Что за переменные назначаются и для чего (названия переменных можете менять по вашему желанию):
vk_name — сохраняем в эту переменную имя цитируемого автора, полученное через vk_get_name(reply_from_id)
name1 — сохраняем в эту переменную имя автора последнего комментария, полученное через vk_get_name(from_id)
key — собираем конструкцию типа [айди цитируемого пользователя|его имя], чтобы пользователю приходило уведомление при ответе бота
key0 — собираем конструкцию типа [айди автора последнего комментария|его имя], чтобы ему приходило уведомление при ответе бота
key1 — переменная будет использоваться в итоговом тексте. Здесь у нас собирается условие, кого бот будет тэгать в зависимости от условий.
ball_dikt — вытаскивает количество баллов из словаря dikt
ball — текущее количество баллов пользователя в зависимости от условий
ball_new — количество баллов после начисления кармы
dikt_new — записываем обновлённые баллы обратно в словарь
dikt — перезаписываем переменную в зависимости от условий
rait — снова вытаскиваем итоговое количество баллов из словаря
answ — итоговое сообщение, которое присылает бот в чат
sticker — условие, при котором бот присылает стикер после основного сообщения (здесь только при +1 к карме)
В белом блоке идет отправка стикера сразу же после сообщения о прибавлении кармы
Стикеры можно использовать только те, которые есть у создателя группы-бота, подробнее про настройку стикеров тут
В случае, если цитируют самого Кармабота, срабатывает соседний блок:

Добавляем +5 к карме по команде

В поле "Назначение переменных при переходе" повторяется все то же, что было описано выше, только баллов прибавляется 5, а не 1.
Блок "Не матерись!" удаляет сообщения с нецензурными словами
Сообщения от админов бот удалять не может, как и исключать их из беседы

Бан пользователя

При цитировании и указании слова "бан" пользователь удаляется из беседы. В поле "переменная для сравнения" вы указываете platform_id тех, кто может банить по команде

Карусель

В карточках могут использоваться фотографии с соотношением сторон ТОЛЬКО 13:8 (Например, 1300 на 800 пикселей). Если взять другие фото, сообщение от бота НЕ придет
Рассмотрим на примере карусели из 3 карточек. Для создания карточек вам нужно в поле "Калькулятор" написать следующее:
p = [{"title":"заголовок", "description": "ОПИСАНИЕ КАРТОЧКИ 1", "image": "ССЫЛКА НА КАРТИНКУ 1", "buttons":[{"text":"ТЕКСТ КНОПКИ 1"}]},{"title":"заголовок", "description": "ОПИСАНИЕ КАРТОЧКИ 2", "image": "ССЫЛКА НА КАРТИНКУ 2", "buttons":[{"text":"ТЕКСТ КНОПКИ 2"}], {"title":"заголовок", "description": "ОПИСАНИЕ КАРТОЧКИ 3", "image": "ССЫЛКА НА КАРТИНКУ 3", "buttons":[{"text":"ТЕКСТ КНОПКИ 3"}]}] r = send_carousel(p, '')
То есть сначала записываем массив с title, description, image, buttons в переменную p (вы можете назвать переменную иначе), а далее используем ее в методе send_carousel(p, '')
В поле "Ответ" оставляем #{none}
В кнопки карточек карусели вы можете вставлять ссылки, тогда при нажатии на кнопку пользователь перейдет по ссылке
Чтобы вставить ссылку в кнопку на карточке, запишите в массив так (на примере одной карточки)
p = [{"title":"заголовок", "description": "ОПИСАНИЕ КАРТОЧКИ 1", "image": "ССЫЛКА НА КАРТИНКУ 1", "buttons":[{"text":"ТЕКСТ КНОПКИ 1", "url":"ССЫЛКА ДЛЯ КНОПКИ" }]}]

Лидформа Вконтакте

Вконтакте не поддерживает ссылки с ключом подписки, для этого был сделан отдельный минилендинг для вконтакте, работающий как приложение платформы.
Рисунок 5
Подробнее можно проситать по ссылке:
Минилендинги
Salebot.pro
Для того, чтобы для вашей ВК группе работал вк-лендинг, уставите приложение в нее по ссылке
Рисунок 6 - пример установки приложения в группу
Если вы видите это на своем минилендинге, то приложение не установлено!
Если указан тег, то кнопка вк с обычного минилендинга будет вести на вк лендинг, чтобы тег не потерялся.

Возможные ошибки при работе с ВКонтакте:

Рисунок 5
Если при подключении группы вы получили ошибку как на рисунке 5, то попробуйте подключится позже. Как правило, через час или два, подключение происходит без проблем.
Рисунок 6
Если у вас не отправляются сообщения и вы в разделе клиенты видите ошибку "This is chatbot feature, change this status in settings", вы не разрешили кнопки в группах вк. Ссылку на эту настройку можно увидеть в разделе "Мессенджеры и чаты" -> "Вконтакте".
Если у вас не воспроизводится аудио на мобильном телефоне, то его необходимо перекодировать в mp3 mono

Дублирование сообщений в ВК

Если у вас дублируются сообщения в ВК, проверьте количество подключенных серверов в настройках группы.
Для этого заходите в группу, подключенную к проекту, там открываете раздел Управление - Работа с API:
Далее нам нужна вкладка Callback API, нажимаем:
Удаляем серверы, которые там есть:
После этого заходим возвращаемся в Salebot, открываем Мессенджеры и чаты, удаляем подключение:
и переподключаем заново:
Готово!

Видеоверсия:

Last modified 11h ago