* Где взять platform_id (owner_id) клиента для отправки уведомлений
1 способ:
-
Ваше сообщество должно быть подключено к проекту
-
Отправьте любое сообщение в диалог с сообществом, куда должны приходить сообщения бота
-
В списке клиентов проекта выбираете диалог клиента, которому будете отправлять сообщение
-
Копируете значение ID в мессенджере

2 способ:
Получить идентификатор группы/пользователя Вконтакте можно из адресной строки браузера.
Адрес профиля пользователя имеет вид https://vk.com/idXXXXXX, адрес сообщества — https://vk.com/publicXXXXXX или https://vk.com/clubXXXXXX, где XXXXXX — ID страницы. Посмотреть ID можно в адресной строке браузера.
Если профилю или сообществу присвоен буквенно-цифровой адрес, то ID можно определить иначе. Откройте любую фотографию пользователя/сообщества; первые цифры после слова photo (XXXXXX в ссылке вида https://vk.com/photoXXXXXX\_YYYYYYY) — это и есть интересующий вас ID.
Найти ID своей страницы вы можете в разделе Настройки → Адрес страницы.

** Как прописывать кнопки в параметре keyboard
Пример reply-кнопок:
knop = {"one_time":false, "buttons":[[{"action":{"type":"text", "payload":"{"button": "1"}", "label":"Red"}, "color":"negative"}, {"action":{"type":"text","payload":"{"button": "2"}","label":"Green"},"color":"positive"},{"action":{"type":"text","payload":"{"button": "2"}", "label":"Blue"},"color":"primary"},{"action":{"type":"text","payload":"{"button": "2"}", "label":"White"},"color":"secondary"}]]}
Пример inline-кнопок:
knop={"inline": true, "buttons": [[{"action": {"type": "open_link", "link": "https://dev.vk.com/", "label": "Оформить"}}, {"action": {"type": "text", "label": "Поддержка"}}]]}
Более подробные примеры и объяснения смотрите в первоисточнике
Чтобы убрать у пользователя клавиатуру, необходимо отправить сообщение с пустым параметром
buttons:{"buttons":[],"one_time":true}
Как отправить сообщение во Вконтакте
Описание:
vk_send_message(platform_id, message, keyboard, reply_to, forward_messages, sticker_id, dont_parse_links, disable_mentions, attachments_photo, attachments_files, parse_mode)
Параметры:
Если присвоить функцию переменной, то в переменную будет помещен id сообщения, который будет необходим для возможно последующего редактирования сообщения.
Примеры:
Отправим сообщение с кнопками и с картинкой, заранее загруженной в нашу группу:

Тестируем

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

Как видите функция вернула идентификатор отправленного сообщения. Это позволяет нам проводить дальнейшие манипуляции над сообщением
Пример кода для копирования:
knop={"inline": true, "buttons": [[{"action": {"type": "open_link", "link": "https://salebot.site/tutor_reg_1", "label": "Регистрируйся"}}, {"action": {"type": "text", "label": "Отмена"}}]]}
soob=vk_send_message(2000000001, "Выбирай", knop, None, None, None, None, None, None, "photo-217945289_457239047")
Чтобы в переменную записать текст с переносами строк, укажите значение следующим образом:
message = "Текст первой строки" + "\n" + "Текст второй строки" + "\n" +"Третья строка"
Как редактировать сообщение во ВКонтакте
Описание:
vk_edit_message(platform_id, message_id, text, attachments_photo, attachments_files, keyboard, keep_forward_messages, keep_snippets, dont_parse_links, disable_mentions, parse_mode)
Параметры:
Примеры:
Продолжим с Вами предыдущий пример - отредактируем сообщение через 5 секунд

Тестируем:

Пример кода для копирования:
Блок отправки сообщения:
knop={"inline": true, "buttons": [[{"action": {"type": "open_link", "link": "https://salebot.site/tutor_reg_1", "label": "Регистрируйся"}}, {"action": {"type": "text", "label": "Отмена"}}]]}
soob=vk_send_message(2000000001, "Выбирай", knop, None, None, None, None, None, None, "photo-217945289_457239047")
Блок редактирования:
soob=vk_edit_message(2000000001, soob, 'Долго думаешь', None, 'photo-217945289_457239048', None, None, None, None, None)
Как удалить сообщение ВКонтакте
Описание:
vk_delete_messages(platform_id, message_ids)
Параметры:
! platform_id — id чата в мессенджере
! message_ids – список из conversation_message_id
Вы можете удалить как одно сообщение, так и несколько.
Для удаления нескольких сообщений передайте перечень conversation_message_id сообщений, которые хотите удалить, через запятую в общих кавычках
Примеры:

Согласно представленному примеру будут удалены сообщения с ид 215 и 217, а 216 останется.
Пример кода для копирования:
vk_delete_messages(136856885, "217, 215")
Как удалить последнее сообщение в беседе во Вконтакте
Описание:
vk_delete_last_message()
Параметры: НЕТ
Удаляет последнее сообщение в чате. На личные сообщения из диалога бота с клиентом не распространяется!
Примеры:
Вернемся к примеру с исключением из чата в случае употребления ненормативной лексики. Добавим удаление сообщения с таким содержанием:

Пример кода для копирования:
vk_delete_last_message()
Как создать короткую ссылку в Вконтакте
Описание:
vk_get_short_link(link, private, user_token)
Параметры:
! link — ссылка, которую нужно будет открывать по короткой ссылке
private — позволяет сделать статистику ссылки приватной (любое значение)
user_token — персональный токен пользователя. Обязательный параметр в случае использования private
Присвойте функцию переменной . Тогда в случае успешного выполнения в переменной будет содержаться короткая ссылка, а в случае наличия ошибок в эту же переменную будет помещен весь ответ сервера.
Примеры:

Результат:

Пример кода для копирования:
vklink=vk_get_short_link('https://www.google.com/')
Как отправить стикер во Вконтакте
Описание:
vk_send_sticker(platform_id, sticker_id)
Параметры:
! platform_id — id клиента в мессенджере
! sticker_id — id стикера.
Как узнать id стикера?
Отправьте стикер в чат и в разделе переменных клиента появится переменная sticker_id

Примеры:

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

Пример кода для копирования:
otpravka = vk_send_sticker(platform_id, 3384)
Как отправить несколько картинок во Вконтакте
Описание:
vk_send_some_photo(platform_id, image_list, text, keyboard, dont_parse_links, disable_mentions, parse_mode)
Параметры:
! platform_id — id клиента в мессенджере
! image_list - массив с картинками
text - текст для сообщения с картинками
keyboard - кнопки в сообщении **
dont_parse_links - отключение превью ссылок
disable_mentions -отключение уведомлений
parse_mode - необязательный параметр. Включает разметку текста в сообщении. Возможные значения - "html" и "markdown"
Пример
image_list=["Ссылка на картинку 1", "Ссылка на картинку 2", "Ссылка на картинку 3"]
Примеры:
Отправим нескольких картинок, указав в качестве параметров функции переменные:


Отправим нескольких картинок, заполнив параметры в функции:


Пример кода для копирования:
/*Отправим нескольких картинок, передав в параметры функции переменные*/
project.image_list=["https://i.ibb.co/991xmY3/00068363.jpg","https://i.ibb.co/qycx2ZT/149.jpg","https://i.ibb.co/w0BnRjM/images-cms-image-000028089.jpg","https://i.ibb.co/Y3h2TWX/images-cms-image-000028098.jpg","https://i.ibb.co/kX4H2Xq/images-cms-image-000028102.jpg"]
vk_send_some_photo(platform_id, image_list, "Тюльпаны")
/*Отправим нескольких картинок, заполнив параметры в функции*/
test=vk_send_some_photo('257328430', '["https://pdds.ru/wp-content/uploads/2022/12/image-1.jpg","https://avto-ravon.ru/wp-content/uploads/2022/02/ravon-r2-.png", "https://rdm-import.ru/image/product/35682/DSC_8767.jpg"]')
Как определить поставил ли пользователь лайк под конкретным объектом во Вконтакте
Описание:
vk_liked_object(type, owner_id, item_id, user_id, user_token)
Параметры:
type - тип объекта
owner_id - идентификатор владельца Like-объекта. Если параметр не задан, то считается, что он равен идентификатору текущего пользователя*
item_id - идентификатор объекта
user_id - идентификатор пользователя в вк
user_token - персональный токен
Возможные типы объектов type :
-
post— запись на стене пользователя или группы; -
comment— комментарий к записи на стене; -
photo— фотография; -
video— видеозапись; -
note— заметка; -
photo_comment— комментарий к фотографии; -
video_comment— комментарий к видеозаписи; -
topic_comment— комментарий в обсуждении.
Результат выполнения функции - словарь вида: {"response":{"liked":1,"copied":0}}
-
liked— есть ли отметка «Мне нравится» от текущего пользователя (0— отметки нет,1— отметка есть); -
copied— сделан ли репост текущим пользователем (0— не сделан,1— сделан).
Примеры:
Итак, давайте проверим, делал ли клиент с идентификатором 257328430 лайк или репост поста в сообществе Админ.
Для начала определим идентификатор инстересующего нас поста:
- открываем пост на просмотр и из адресной строки забираем цифры после знака подчеркивания в конце строки

Переходим к заполнению параметров функции в поле Калькулятор:

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

Пример кода для копирования:
res=vk_liked_object('post', -217945289, 3, 257328430)
Как исключить пользователя из беседы во Вконтакте
Описание:
vk_remove_chat_user(member_id)
Параметры:
! member_id — id пользователя, которого нужно исключить. Здесь же вы можете использовать значение from_id.
Примеры:
Как правило из чата удаляют в случае употребления ненормативной лексики. Давайте разберем как выполнить исключение из чата при помощи бота.
Вводим бота-администратора в наш чат

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

Тестируем:

Пример кода для копирования:
vk_remove_chat_user(from_id)
Как получить имя пользователя в беседе Вконтакте
Описание:
vk_get_name(member_id, full)
Параметры:
! member_id — id пользователя. Здесь же вы можете использовать значение from_id.
! full - признак какие данные выдать. Может принимать значение True, тогда будет выдано имя и фамилия пользователя, иначе (False) - только имя
Примеры:
Для получения имени и фамилии клиент напишем функцию со следующими значениями параметров:

Тестируем

Пример кода для копирования:
sobesed=vk_get_name(from_id, True)
Как опубликовать пост во ВКонтакте
Описание:
vk_create_wall_post(token, owner_id, text, attachments, from_group, signed, mark_as_ads, close_comments, mute_notifications, copyright)
Параметры: НЕТ
token - персональный токен ВКонтакте с правами wall
owner_id - id пользователя или сообщества, на стене которого необходимо опубликовать запись *
text - текст публикации, если есть вложения, то можно вместо текста передать пустую строку ("")
attachments — список объектов, приложенных к комментарию и разделённых символом «,». Поле attachments представляется в формате:
<type><owner_id>_<media_id>,где
<type> — тип медиа-вложения:
-
photo— фотография; -
video— видеозапись; -
audio— аудиозапись; -
doc— документ; -
page— вики-страница; -
note— заметка; -
poll— опрос; -
album— альбом; -
market— товар; -
market_album— подборка товаров; -
audio_playlist— плейлист с аудио.
<owner_id> — идентификатор владельца медиавложения (идентификатор сообщества должен начинаться со знака -).
<media_id> — идентификатор медиавложения. Формат описания ссылки:
{protocol}{URL}, где:
<protocol> — протокол HTTP или HTTPS.
<URL> — оставшаяся часть URL.
Примечание**.** Можно указать несколько медиавложений, но только одну ссылку. Если указать больше одной ссылки, вернётся ошибка.
from_group - 0, если нужно опубликовать от своего имени, 1 - если от имени сообщества
signed - если опубликовано от имени сообщества, то можно оставить подпись под постом, для включения передайте 1
mark_as_ads - является ли пост рекламным, чтобы отметить пост как рекламный укажите 1 (Внимание! рекламным может быть только пост от имени группы)
close_comments - передайте 1, если хотите закрыть комментарии, иначе - 0
mute_notifications - информация о том, включены ли уведомления к публикации записи, для выключения передайте 1, иначе 0
copyright - источник материала. Поддерживаются внешние и внутренние ссылки. Просто передайте ссылку на источник в кавычках.
Примеры:
Итак, приступим.
Первым делом получаем персональный токен пользователя. Полученный токен прописываем в константах проекта.
Далее определим идентификатор сообщества, на стене которого желаем оставить пост, и идентификатор фотографии

Определение идентификаторов сообщества и фото, которые будем публиковать на стене нашего сообщества
1 - id сообщества
2 - id изображения
Итак, переходим к заполнению параметров функции

Поле Калькулятор - настройка функции публикации поста
Можем перейти к тестированию

Опубликованный пост от имени сообщества с подписью автора
Пример кода для копирования:
/*project.token='' Прописать в константах проекта*/
newpost=vk_create_wall_post(token, -217945289, text, 'photo-217945289_457239017', 1, 1, 0, 0, 0,'')
Как делать репосты постов со стены ВКонтакте
Описание:
В vk_send_message и vk_edit_message есть параметр attachments_files.
Для репоста в сообщения в этот параметр нужно передать в виде:
'wall{owner_id}_{post_id}'
owner_id — владелец публикации (в случае с группами перед id нужно добавить знак минус)
post_id — идентификатор поста на стене этого владельца

Примеры:
Рассмотрим вариант репоста при комментировании записи:

Тестируем:


Пример для копирования кода:
comm = comment_text()
repost=vk_send_message(platform_id, "Вы прокомментировали нашу запись: #{comm}", None, None, None, None, '', '', '', 'wall-217945289_10')
Как оставить комментарий на стене во Вконтакте
Описание:
vk_create_comment(post_id, message, reply_to_comment, sticker_id, token, attachments)
Параметры:
! post_id — id комментируемого поста
! message — текст комментария
reply_to_comment — id комментария, на который отвечаем
sticker_id — id стикера
token — токен
attachments — список объектов, приложенных к комментарию и разделённых символом «,». Поле attachments представляется в формате:
<owner_id><media_id>,<owner_id><media_id>
<type> — тип медиа-вложения:
-
photo— фотография; -
video— видеозапись; -
audio— аудиозапись; -
doc— документ.
<owner_id> — идентификатор владельца медиа-вложения.
<media_id> — идентификатор медиа-вложения.

Если не передавать необязательные параметры, то функция будет выглядеть так: vk_create_comment(post_id, message)
Примеры:
Итак, разберем на практике как добавить комментарий на стене нашего сообщества.
Для начала определим id нашего поста:
Откройте пост в отдельном окне и обратите меня на адрес поста в адресной строке браузера:

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

Тестируем:

При этом обратим внимание на значение переменной k в карточке клиента:

Здесь мы можем получить id нашего комментария.
Теперь ответим на комментарий нашего клиента. Ранее было рассмотрено получение колбека при комментировании нашего поста. Повторим разобранное. Прокомментируем наш пост и зайдем в карточку клиента в нашем проекте:


Настроим реакцию на получаемый коллбэк - отправим благодарность нашему клиенту:


Давайте разберем еще один пример работы с комментариями - отправка картинки в ответ на комментарий. Выше мы подробно рассмотрели как получить id поста, но сейчас мы будем отвечать нашему клиенту в ответ на его комментарий. Пропишем в калькуляторе условного блока следующую функцию:

При этом ссылку на фото мы получили из адресной строки браузера:

Ну а теперь посмотрим на результат нашего труда:

Пример кода для копирования:
/*Отправка комментария под пост*/
k=vk_create_comment(1, 'Комментарий')
/*Отправка благодарности на комментарий от клиента*/
k=vk_create_comment(1, 'Спасибо за проявленный интерес!',wall_reply_id)
/*Отправка вложения в ответ на комментарий клиента*/
komm=vk_create_comment(wall_reply_post_id, 'текст', wall_reply_id, '', '', 'photo-27121021_457268025')
Как сохранить текст комментария во ВКонтакте
Описание:
comment_text()
Параметры: НЕТ
Примеры:
Разберем на примере:
Не забываем, что для работы с комментариями необходим отдельный токен, подробнее о его получении и добавлении в проект смотрим персональный токен пользователя.
Не забываем включить для нашего канала связи - группа ВКонтакте, комментирование записей

Выполняем настройки блока для ловли комментария - событие client_wall_reply_new:

Выполняем тестирование:


Пример кода для копирования:
comm = comment_text()
Как открыть или закрыть комментирование поста в сообществе во ВКонтакте
Описание:
Внимание!!! Для данных действий нужен дополнительный ключ для работы с комментариями на стене.
Как получить токен для работы с комментариями указано здесь
Включить комментирование поста
vk_open_comment(owner_id,post_id,token )
Параметры:
! owner_id — автор сообщения
Если используете токен для работы с комментариями, то для включения комментариев будут доступны только посты от имени группы
! post_id — идентификатор поста
token — токен
Закрыть комментирование поста
vk_close_comment(owner_id,post_id,token )
Параметры:
! owner_id — автор сообщения (если указывать идентификатор группы, то для выключения комментариев будут доступны только посты от имени группы, не забудьте указать перед идентификатором группы знак “-”
! post_id — идентификатор поста
token — токен
Примеры:
Давайте разберем на примере. Построим небольшую воронку, в которой заложим следующую логику:
После ввода ключевого слова закрываем комментирование поста с конкретным id, через 15 секунд открываем для комментирования.
Для начала определяем id автора поста (1) и его номер (2) - открываем пост на просмотр и из адресной строки вытягиваем соответствующие значения:

Начинаем строить нашу воронку. Первый блок - блок первостепенной проверки условия (закрываем комментирование поста) из него стрелка с таймером на 15 секунд с переходом в блок состояние диалога (открываем комментирование поста):


Как это выглядит на практике:

Пример использования функций vk_comment_open и vk_comment_close
Если видим ошибку вида:

тогда обновите страницу. Мы выполнили апи-запрос на закрытие комментирования поста, но не обновили отображение страницы ВКонтакте.
Пример кода для копирования:
status=vk_close_comment(-217960351,12,token)
status=vk_open_comment(-217960351,12,token)
Удаление комментария со стены
Описание:
vk_delete_wall_post_comment(token, owner_id, comment_id)
Параметры:
! token — персональный токен пользователя
! owner_id — идентификатор пользователя, на чьей стене находится комментарий к записи
! comment_id — идентификатор комментария
Обратите внимание, идентификатор сообщества в параметре owner_id необходимо указывать со знаком «-» — например, owner_id = -123.., что соответствует идентификатору сообщества.
После успешного выполнения возвращает 1.
В случае успешного запроса выдаст:

Примеры:

Пример кода для копирования:
res=vk_delete_wall_post_comment(token,-230462869,61)
-230462869 - id сообщества
61 - id комментария под постом сообщества
Как найти сообщение по тексту и получить все необходимые параметры по нему
Описание:
vk_search_message(serched_text, platform_id,date,count)
Параметры:
! searched_text — текст для поиска в сообщениях группы
! platform_id — идентификатор назначения для поиска по отдельному диалогу, это либо id пользователя, либо id диалога, либо id сообщества (в этом случае нужно добавить знак “-” перед идентификатором),
date — дата в формате DDMMYYYY, если параметр задан, в ответе будут только сообщения, отправленные не позднее указанной даты,
count – необязательный параметр, количество возвращаемых сообщений (максимум - 20, по умолчанию - 10).
Примеры:
vk_search_message(serched_text, platform_id)
В ответе будет указано общее кол-во найденных сообщений с искомым текстом, сами найденные сообщения будут идти начиная с последнего отправленного.
Ответ будет иметь примерно такой вид:
{"response":{"count":26,"items":[{"date":1661248453,"from_id":-ххххххххх,"id":795,"out":1,"attachments":[],"conversation_message_id":538,"fwd_messages":[],"important":false,"is_hidden":false,"payload":"{\"from\":\"salebot\"}","peer_id":ххххххх,"random_id":-1877332,"text":"serched_text"},{"date":1655829530,"from_id":-ххххххххх,"id":553,"out":1,"attachments":[],"conversation_message_id":326,"fwd_messages":[],"important":false,"is_hidden":false,"payload":"{\"from\":\"salebot\"}","peer_id":ххххххх,"random_id":-190978,"text":"serched_text"}]}}
В данном примере всего подходящих под условие сообщений найдено 26, показаны 2.
Как проверить подписку на сообщество
Описание:
check_vk_subscription(group_id)
Параметры:
! group_id - идентификатор сообщества, подписку на которое необходимо проверить. Если к проекту подключена только одна группа/сообщество, то этот параметр можно опустить.
В ответ возвращается значение True, если подписан, и False, если не подписан.
Примеры:
Если к проекту подключено одно сообщество ВКонтакте, то в поле "Калькулятор" пишем, например, так: result = check_vk_subscription()

Вместо result вы можете использовать свое название переменной.
Дальше сравниваем значение нашей переменной: перейдите в настройки одной стрелки и в поле "Переменная для сравнения" пропишите result* == False
*Если у вас другое название переменной, то есть в зеленом блоке в калькуляторе написано не result, а *любое название переменной* = check_vk_subscription(), то в стрелке должно быть именно *любое название переменной* == False.

Аналогично настраиваем другую стрелку, где в result == True:

Результат:

Если есть необходимость проверить подписку на другое сообщество, то укажите параметр group_id в качестве параметра функции:

group_id можно найти в разделе “Каналы”:

Получаем результат:

Если вам не нужно разделять пользователей по разным цепочкам в боте, можно сделать проверку и выдачу ответа одним блоком с помощью оператора if. Пример:
result = check_vk_subscription()
otvet = if(result == True, "Подписка есть", if(result == False, "подписки нет", "Не могу проверить, простите"))

Пример кода для копирования:
result=check_vk_subscription()
Как закрепить/открепить сообщения в чатах сообщества во ВКонтакте
Описание:
Закрепление сообщения чата
vk_pin_message(platform_id, conversation_message_id)
Параметры
! platform_id - идентификатор чата
! conversation_message_id - идентификатор сообщения
Открепление сообщения чата
vk_unpin_message(platform_id)
Параметры
! platform_id - идентификатор чата
Примеры:
Итак, реализуем отправку в закреп сообщения, помеченного хештегом #взакреп. Команда должна выполняться, только в случае отправки данного сообщения администратором.
Для начала пишем в чат тестовое сообщение и идем в карточку нашего чата в нашем проекте. Нас интересуют переменные, которые возникают при отправке сообщения в чат:

Как видим, в карточке клиента есть информация о том кто отправил сообщение from_id и идентификатор сообщения conversation_message_id.
Перейдем к настройке нашего блока, в котором собственно будет выполняться команда отправки в закреп нашего сообщения:
- Поскольку срабатывать команда должна на конкретное условие - #взакреп, то используем любой блок с условием

- Тестируем:

Ранее закреплённое сообщение будет заменено новым сообщением, отправляемым в закреп
Аналогичным образом настраиваем открепление сообщения чата:

Тестируем:

Пример кода для копирования:
vk_pin_message(2000000001, conversation_message_id)
vk_unpin_message(2000000001)
Как показать пользователю действия бота (печатает, записывает аудио) во ВКонтакте
Описание:
vk_send_chat_action(platform_id, bot_action)
Параметры
! platform_id – идентификатор назначения (групповой чат или переписка клиента с сообществом)
! bot_action – действие бота.
Возможные значения bot_action:
&#xNAN;typing – печатает,
&#xNAN;audiomessage – записывает аудио.
В случае опечатки в названии действия будет использовано действие бота typing.
Данное уведомление будет отображаться пока не придет какой-либо ответ от бота, но не более 10 секунд.
Примеры:
Перейдем к наглядному примеру. При вводе волшебного слова перезвони будем показывать нашим пользователям, что Админ чата записывает аудиосообщение. Настраивается это буквально в один блок:

Эффект действия бота длится не более 10 секунд:

Пример кода для копирования:
vk_send_chat_action(2000000001, 'audiomessage')
Поставить реакцию на сообщение в личных сообщениях или в чатах
У клиентов вк, после входящего сообщения появляется переменная cmid, в ней хранится порядковый номер сообщения в чате и переменная reply_cmid - id цитируемого сообщения, если сообщение это ответ.
Ниже описаны функции для создания реакции на сообщения в ВК. Данные функции указываем в Калькуляторе блока.
Добавлены коллбэки на реакции в чатах. Для включения нужно зайти в управление, пункт в настройках работа с API, выбрать во вкладке callback API наш сервер и зайти в типы событий, там найдете Действие с реакциями на сообщение и поставите галочку напротив этого поля. После этого в чаты будет приходить коллбэк с информацией на сообщение с каким conversation_id была реакция и какая.
react 2 on 629 - 2 реакция на cmID 629
cancel reaction on 629 - отменил ранее поставленную реакцию на cmID 629
Добавить или изменить ранее добавленную реакцию
vk_send_message_reaction(cmid, reaction_id) - Добавляет или изменяет ранее добавленную реакцию на сообщение
Все параметры обязательные.
cmid - порядковый номер сообщения в чате (переменная cmid). Или передайте переменную reply_cmid, чтобы поставить реакцию на цитируемое сообщение.
reaction_id - идентификатор реакции от 1 до 16 (на скриншоте слева направо)

Пример настройки функции в калькуляторе:

Результат выполнения функции в чате:

При успехе возвращает {'response': 1}
При ошибке описание ошибки: {'error': {'error_code': 100, 'error_msg': 'One of the parameters specified was missing or invalid', 'request_params': [{'key': 'method', 'value': 'messages.sendReaction'}, {'key': 'oauth', 'value': '1'}, {'key': 'v', 'value': '5.131'}, {'key': 'peer_id', 'value': '620578274'}, {'key': 'cmid', 'value': '106'}, {'key': 'reaction_id', 'value': '150'}]}}
Удалить ранее поставленную реакцию на сообщение
vk_delete_message_reaction(cmid) - Удаляет как реакцию, созданную ботом, так и реакцию от лица сообщества.
cmid - порядковый номер сообщения в чате (переменная cmid или reply_cmid)
При успехе возвращает {'response': 1}
При ошибке: {'error': {'error_code': 100, 'error_msg': 'One of the parameters specified was missing or invalid: invalid cmid', 'request_params': [{'key': 'method', 'value': 'messages.deleteReaction'}, {'key': 'oauth', 'value': '1'}, {'key': 'v', 'value': '5.131'}, {'key': 'peer_id', 'value': '620578274'}, {'key': 'cmid', 'value': '1106'}]}}
Получить счетчик реакции на сообщения
vk_get_message_reactions(cmds) - Получить актуальные счётчики реакций на сообщения. Если реакций не много, возвращает так же id пользователей и сообществ, поставивших реакции
cmds - порядковый номер сообщения (переменная cmid) или список через запятую сообщений, для которых нужно вернуть счётчики реакций.
Например '3611' или '118,117,116,115'

Пример при успехе: {'response': {'items': [{'cmid': 118, 'counters': [{'reaction_id': 2, 'count': 1, 'user_ids': [620578000]}]}, {'cmid': 117, 'counters': [{'reaction_id': 12, 'count': 1, 'user_ids': [620578000]}]}]}}
При отсутствии реакций: {'response': {'items': []}}
При ошибке: {'error': {'error_code': 100, 'error_msg': 'One of the parameters specified was missing or invalid', 'request_params': [{'key': 'method', 'value': 'messages.getMessagesReactions'}, {'key': 'oauth', 'value': '1'}, {'key': 'v', 'value': '5.131'}, {'key': 'peer_id', 'value': '6205178274'}, {'key': 'cmids', 'value': '1187'}]}}
Как работать с Callback-кнопками во ВКонтакте
Как создать Callback-кнопку
Кнопки данного вида существуют только во ВКонтакте и Telegram. При добавлении кнопок выберите тип (функция) Callback-кнопка (ВКонтакте, Telegram)


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

Как использовать реакции при нажатии на callback-кнопку
Разберём, как настроить реакцию на нажатие callback-кнопки. Для этого используйте любой условный блок или стрелку и в поле Условие укажите текст Callbackа:

Как это выглядит со стороны клиента:

Обратите внимание! После нажатия на callback-кнопки в карточке клиента появится переменная vk_event_id, которая потребуется для дальнейшей работы.

Как перейти по ссылке после нажатия callback-кнопки
Описание:
vk_callback_url(platform_id, vk_user_id, opened_url, event_id )
Параметры:
! platform_id — идентификатор диалога (в личных сообщениях совпадает с vk_user_id)
! vk_user_id — идентификатор пользователя в ВК, нажавшего кнопку
opened_url — ссылка, которая будет открываться
event_id — идентификатор события. Используйте переменную vk_event_id, которая появляется при нажатии callback-кнопки.
Примеры:

Пример кода для копирования:
vk_callback_url(platform_id, vk_user_id, "https://www.google.com", vk_event_id)
Как показать исчезающее сообщение
Описание:
vk_show_alert_message(platform_id, vk_user_id, text, event_id)
Параметры:
! platform_id — идентификатор диалога (в личных сообщениях совпадает с vk_user_id),
! vk_user_id — идентификатор пользователя в ВК, нажавшего кнопку,
! text — текст исчезающего сообщения, который будет показан на несколько секунд,
! event_id — идентификатор события. Используйте переменную vk_event_id, которая появляется при нажатии callback-кнопки.
Примеры:
Для работы с данной функцией необходимо помнить, что callback о нажатии кнопки придет не в чат, а в диалог бота с клиентом. Соответственно необходимо предусмотреть получение идентификаторов чата и клиента.
Пример настройки блоков для работы с функцией:



Итак, оценим результат:

Пример кода для копирования:
1й блок "Отправка сообщения с Callback-кнопкой"
проект.chat_id=platform_id
2й блок "Реакция на нажатие Callback-кнопки"
user_id=platform_id
vk_show_alert_message('#{chat_id}', '#{user_id}', "Вы нажали кнопку 111", vk_event_id)
Как определить число участников в групповом чате
Описание:
vk_get_chat_member_count(platform_id )
Параметры
! platform_id - идентификатор чата.
Примеры:
Итак, давайте узнаем число участников нашего чата.
Для работы с функцией нам потребуется идентификатор нашего чата. В предыдущей функции рассмотрен вариант получения идентификатора чата через переменную platform_id. Второй вариант получения идентификатора - это посмотреть идентификатор в карточке клиента и прописать его значение в параметре функции.

Результат:

Обратите внимание! Функция возвращает значение количества подписчиков чата за минусом ботов.
Пример кода для копирования:
count = vk_get_chat_member_count(2000000003)
Как получить ссылку-приглашение в чат
Описание:
vk_export_chat_link(platform_id, new)
Параметры:
! platform_id – идентификатор чата
new – при передаче в него любого значения прежняя ссылка перестает работать и будет возвращена новая ссылка, если же его не передавать, то вернет актуальную ссылку.
Примеры:
Вы можете сформировать ссылку на чат и передавать ее клиентам:



Пример кода для копирования:
link=vk_export_chat_link(platform_id, new)
Как отметить в сообществе диалог как важный/отвеченный/прочитанный
Описание:
vk_mark_conversation(platform_id, mark_type)
Параметры
! platform_id — id пользователя, диалог с которым нужно отметить
mark_type — тип отметки
Возможные значения:
'important' - важный (значение по умолчанию)
'answered' - отвеченный
'read' - прочитанный
Примеры:
Поэкспериментируем? Допустим, у нас есть клиент, который регулярно пишет нам заявки. И нам важно выделить его диалог из общей массы. Приступим!
Для работы с функцией нам потребуется platform_id клиента. Его мы легко найдем в карточке клиента нашего проекта:

Далее переходим к сборке функции:

Вот и все! Тестируем:

Пример кода для копирования:
soob=vk_mark_conversation(123, 'important')
Как снять отметку “важно” с диалога или обозначить диалог непрочитанным в сообществе
Описание:
vk_unmark_conversation(platform_id, mark_type)
Параметры
! platform_id — id пользователя, для которого требуется снять отметку с диалога,
mark_type — тип отметки
Возможные значения:
'important' - важный (значение по умолчанию)
'answered' - отвеченный
'read' - прочитанный
Примеры:
Все настраивается аналогично предыдущему примеру.

Тестируем
Пример кода для копирования:
soob=vk_unmark_conversation(257328430, 'important')
Как принять заявку на вступление в группу
Описание:
vk_approve_request(platform_id, user_id, token)
Параметры
! platform_id – идентификатор группы, в которую оставили заявку на вступление,
! user_id – идентификатор пользователя, оставившего заявку,
! token – персональный токен администратора.
Колбеки для группы:
client_group_join request - подан запрос на вступление в группу
client_group_join approved - клиент принят в группу
Примеры:

Пример кода для копирования:
vk_approve_request(214443311, 154666822, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
Как работать с черным списком группы
Описание:
Добавление пользователя или сообщества в черный список
vk_ban_by_id(platform_id, user_id, token, end_date, reason, comment, visible)
! platform_id – идентификатор группы, в черный список которой нужно добавить пользователя или сообщество
! user_id – идентификатор пользователя или сообщества (если передаете идентификатор сообщества, то перед идентификатором нужно поставить символ “-”)
! token – персональный токен администратора,
end_date – дата окончания бана (если не использовать, то бан будет перманентный. Максимальный возможный срок окончания бана, который можно указать, — один год с его начала)
reason – код причины блокировки
comment – комментарий администратора (может содержать пояснения по блокировке),
visible – виден ли комментарий администратора забаненному (может принимать любое значение). По умолчанию комментарий забаненному клиенту не виден.
Дата окончания блокировки передается в виде D.M.Y, где D - число, M - месяц, Y - год.
Также можно использовать current_date.
Помимо этого может быть передана дата со временем в виде D.M.Y H:M, где D - число, M - месяц, Y - год, H - часы, M – минуты.
Причины блокировки закодированы следующим образом:
0 — другое (по умолчанию)
1 — спам
2 — оскорбление участников
3 — нецензурные выражения
4 — сообщения не по теме
В комментарии можно дать какие-либо разъяснения только для администраторов или доступные пользователю, если передан параметр видимости.
Удаление из черного списка
vk_unban_by_id(platform_id, user_id, token)
Параметры
! platform_id – идентификатор группы, из черного списка которой нужно убрать пользователя или сообщество,
! user_id – идентификатор пользователя или сообщества (если передаете идентификатор сообщества, то перед идентификатором нужно поставить символ “-”),
! token – персональный токен администратора.
Примеры:
Добавить в черный список:

Удалить из черного списка:

Пример кода для кодирования:
Добавление в черный список:
vk_ban_by_id(214443311, 154666822, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "25.05.2022 22:30", 3, "разбана до срока не будет", 1)
Удаление из черного списка:
vk_unban_by_id(214443311, 154666822, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
Как удалить пользователя из группы и всех бесед, созданных в группе
Описание:
vk_remove_group_user(platform_id, user_id, token)
Параметры
! platform_id – идентификатор группы, в черный список которой нужно добавить пользователя или сообщество
! user_id – идентификатор пользователя
! token – персональный токен администратора.
Примеры:

Пример кода для копирования:
vk_remove_group_user(214443311, 154666822, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
Как назначить/разжаловать администратора группы и указать/убрать его в списке контактов
Описание:
vk_edit_manager(platform_id, user_id, token, role, is_contact, position, phone, email)
Параметры
! platform_id – id целевой группы
! user_id – назначаемый пользователь
! token - персональный токен администратора
role - роль назначаемого администратора (если оставить пустым или указать должность с ошибкой, то будет лишен прав администратора)
is_contact – будет ли отображаться администратор в списке контактов группы (если оставить пустым, то отображаться не будет и если отображался, то будет убран из списка контактов)
position – передается только при заполненном параметре is_contact, отображаемая должность (любой текст для должности в списке контактов)
phone – передается только при заполненном параметре is_contact, телефон, отображаемый в списке контактов
email – передается только при заполненном параметре is_contact, email, отображаемый в списке контактов.
В параметре role можно передать один из 4 вариантов роли администратора:
moderator — модератор;
editor — редактор;
administrator — администратор;
advertiser — рекламодатель.
Примеры:
Назначение администратором рассмотрим на примерах:
- пользователь 33362211 будет назначен на должность модератора в группу 212223322 и не будет добавлен в список контактов.

- пользователь 33362211 будет назначен на должность модератора в группу 212223322 и будет добавлен в список контактов с указанием должности test_moder, телефона +79991111111 и электронной почты tester666@gmail.ru

Аналогичным образом рассмотрим разжалование администратора:
- пользователь 33362211 будет разжалован в группе 212223322 и будет удален из списка контактов, если он там находился

- пользователь 33362211 добавится в список контактов группы 212223322 с указанием должности test_contact, телефона +79991111111 и электронной почты tester666@gmail.ru, но не получит прав администратора

Пример кода для копирования:
Назначение администратора без добавления его в список контактов группы
vk_edit_manager(212223322, 33362211, 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'moderator')
Назначение администратора с добавлением его в список контактов группы
vk_edit_manager(212223322, 33362211, 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'moderator')
Разжалование администратора с удалением из списка контактов
vk_edit_manager(212223322, 33362211, 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
Добавление в список контактов без прав администратора
vk_edit_manager(212223322, 33362211, 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', '', 1, 'test_contact', '+79991111111', 'tester666@gmail.ru')
Как распознать текст на изображении
Описание:
Для работы данной функции необходима регистрация в VK Vision (VK cloud). После регистрации необходимо получить сервисный токен.
vk_vision_recognize_text(token, file_url)
Параметры
token- сервисный ключ от аккаунта VK Vision.
file_url - ссылка, на фотографию, которую вы отправили в чат-бот.
Важно! Функция работает только с фотографиями, которые находятся на сервере Salebot.
Примеры:
Разберем на примере. В результате выполнения функция возвращает распознанный текст.

Пример кода для копирования:
file_url = #{attachment_url}
foto = vk_vision_recognize_text('272mEbKNCP2CnRtmkGPm7J6mGojDbS9bYZV9hj7w8hTC6yJZRf', file_url)