Salebot.pro
Search
⌃K

API ВКонтакте(функции для использования всех возможностей Вконтакте)

Работают только на тарифе Премиум

ОБЩАЯ ИНФОРМАЦИЯ:

* Где взять 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()

Описание
Примеры
Пример кода для копирования
vk_send_message(platform_id, message, keyboard, reply_to, forward_messages, sticker_id, dont_parse_links, disable_mentions, attachments_photo, attachments_files)
Параметры:
! platform_id — id клиента в мессенджере *
! message — текст сообщения
keyboard — кнопки в сообщении **
reply_to — id сообщения для ответа/цитаты
forward_messages — id пересылаемых сообщений (формат списка "{#айдипервогосообщения}, #{второго}, #{итакдалее}"
sticker_id — id стикера
dont_parse_links — создавать сниппет или нет, может принимать значение 1 — создавать, 0 — нет
disable_mentions — отключить уведомление об упоминании в сообщении, для отключения уведомлений передайте в этот параметр что угодно, иначе оставьте пустым
attachments_photo — добавить в медиавложения сообщения фотографии, которые пока не загружены во ВКонтакте, в виде списка ссылок на фотографии в формате: '["#{url1}","#{url2}"]', где url - это ссылка на фотографию на доступных ресурсах в Интернете.
attachments_files — различные вложения из ВКонтакте. Для использования attachments_files потребуется строка с вложениями, перечисленными через запятую и уже находящимися во ВКонтакте, имеющая следующий вид: 'doc-182762603_638918266, photo-182762603_638918266' Каждое вложение описываем следующим образом: <type>-<owner_id>_<media_id> - где: <type> — тип медиа-вложения:
  • photo — фотография;
  • video — видеозапись;
  • audio — аудиозапись;
  • doc — документ;
  • wall — запись на стене;
  • market — товар;
  • poll — опрос.
<owner_id> — идентификатор владельца медиа-вложения. <media_id> — идентификатор медиа-вложения.
Обратите внимание, если прикрепляется объект, принадлежащий другому пользователю, следует добавлять к вложению его access_key в формате -<owner_id><media_id>_<access_key>
Если присвоить функцию переменной, то в переменную будет помещен 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")

▶️ Как редактировать сообщение во ВКонтакте
Доступно на трифе Премиум

vk_edit_message()

Описание
Примеры
Пример кода для копирования
vk_edit_message(platform_id, message_id, text, attachments_photo, attachments_files, keyboard, keep_forward_messages, keep_snippets, dont_parse_links, disable_mentions)
Параметры:
! platform_id — id клиента в мессенджере *
! message_id — id редактируемого сообщения
text — текст сообщения
attachments_photo — добавить в медиавложения сообщения фотографии, которые пока не загружены во ВКонтакте, в виде списка ссылок на фотографии в формате: '["#{url1}","#{url2}"]', где url - это ссылка на фотографию на доступных ресурсах в Интернете.
attachments_files — различные вложения из ВКонтакте. Для использования attachments_files потребуется строка с вложениями, перечисленными через запятую и уже находящимися во ВКонтакте, имеющая следующий вид: 'doc-182762603_638918266, photo-182762603638918266'. Каждое вложение описываем следующим образом: <type>-<owner_id>_<media_id> - где: <type> — тип медиа-вложения:
  • photo — фотография;
  • video — видеозапись;
  • audio — аудиозапись;
  • doc — документ;
  • wall — запись на стене;
  • market — товар;
  • poll — опрос.
<owner_id> — идентификатор владельца медиа-вложения. <media_id> — идентификатор медиа-вложения.
Обратите внимание, если прикрепляется объект, принадлежащий другому пользователю, следует добавлять к вложению его access_key в формате -<owner_id><media_id>_<access_key>
keyboard — кнопки в сообщении **
keep_forward_messages — признак необходимости сохранить прикреплённые пересланные сообщения (любое значение)
keep_snippets — признак необходимости сохранить прикреплённые внешние ссылки (сниппеты)(любое значение)
dont_parse_links — признак того, что не надо создавать сниппет (любое значение)
disable_mentions — признак того, что надо отключить уведомление об упоминании в сообщении (любое значение)
Продолжим с Вами предыдущий пример - отредактируем сообщение через 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()

Описание
Примеры
Пример кода для копирования
vk_delete_messages(platform_id, message_ids)
Параметры:
! platform_id — id чата в мессенджере ! message_ids – список из conversation_message_id Вы можете удалить как одно сообщение, так и несколько. Для удаления нескольких сообщений передайте перечень conversation_message_id сообщений, которые хотите удалить, через запятую в общих кавычках
Согласно представленному примеру будут удалены сообщения с ид 215 и 217, а 216 останется.
vk_delete_messages(2000000001, "217, 215")

▶️ Как удалить последнее сообщение в беседе во Вконтакте
Доступно на трифе Премиум

vk_delete_last_message()

Описание
Примеры
Пример кода для копирования
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()

Описание
Примеры
Пример кода для копирования
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()

Описание
Примеры
Пример кода для копирования
vk_send_some_photo(platform_id, image_list, text, keyboard, dont_parse_links, disable_mentions)
Параметры:
! platform_id — id клиента в мессенджере ! image_list - массив с картинками text - текст для сообщения с картинками keyboard - кнопки в сообщении ** dont_parse_links - отключение превью ссылок disable_mentions -отключение уведомлений
Пример
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()

Описание
Примеры
Пример кода для копирования
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()

Описание
Примеры
Пример кода для копирования
vk_remove_chat_user(member_id)
Параметры:
! member_id — id пользователя, которого нужно исключить. Здесь же вы можете использовать значение from_id.
Как правило из чата удаляют в случае употребления ненормативной лексики. Давайте разберем как выполнить исключение из чата при помощи бота.
Вводим бота-администратора в наш чат
Далее в проекте создадим блок первостепенной проверки и установим в условии слова, на которые должен отреагировать наш бот и исключить клиента за несоблюдение правил. Условно укажем слово - мат:
Настройка блока для исключения клиента из чата
Тестируем:
Бот исключил из чата ВКонтакте пользователя, написавшего условное слово
vk_remove_chat_user(from_id)

▶️ Как получить имя пользователя в беседе Вконтакте
Доступно на трифе Премиум

vk_get_name()

Описание
Примеры
Пример кода для копирования
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()

Описание
Примеры
Пример кода для копирования
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 - источник материала. Поддерживаются внешние и внутренние ссылки. Просто передайте ссылку на источник в кавычках.
Итак, приступим.
Первым делом получаем персональный токен пользователя. Полученный токен прописываем в константах проекта.
Далее определим идентификатор сообщества, на стене которого желаем оставить пост, и идентификатор фотографии
Определение идентификаторов сообщества и фото, которые будем публиковать на стене нашего сообщества
Итак, переходим к заполнению параметров функции
Поле Калькулятор - настройка функции публикации поста
Можем перейти к тестированию
Опубликованный пост от имени сообщества с подписью автора
/*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()

Описание
Пример
Пример кода для копирования
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 = 1
Теститруем:
Отправка комментария под пост с id=1
При этом обратим внимание на значение переменной k в карточке клиента:
Ответ сервера ВКонтакте
Здесь мы можем получить 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()

Описание
Пример
Пример кода для копирования
comment_text()
Параметры: НЕТ
Разберем на примере:
Не забываем, что для работы с комментариями необходим отдельный токен, подробнее о его получении и добавлении в проект смотрим тут
Не забываем включить для нашего канала связи - группа ВКонтакте, комментирование записей
Выполняем настройки блока для ловли комментария - событие client_wall_reply_new:
Выполняем тестирование:
comm = comment_text()

▶️ Как открыть или закрыть комментирование поста в сообществе во ВКонтакте
Доступно на трифе Премиум
:

vk_open_comment() | vk_close_comment()

Описание
Примеры
Пример кода для копирования
Внимание!!! Для данных действий нужен дополнительный ключ для работы с комментариями на стене. Как получить токен для работы с комментариями указано здесь
Включить комментирование поста
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 автора поста и его номер - открываем пост на просмотр и из адресной строки вытягиваем соответствующие значения:
Получение параметров для функций vk_open_comment и vk_close_comment
Начинаем строить нашу воронку. Первый блок - блок первостепенной проверки условия (закрываем комментирование поста) из него стрелка с таймером на 15 секунд с переходом в блок состояние диалога (открываем комментирование поста):
Закрываем комментирование поста
Открываем комментирование поста
Как это выглядит на практике:
Пример использования функций vk_comment_open и vk_comment_close
Если видим ошибку вида:
Ошибка во Вконтакте
то обновите страницу. Мы выполнили апи-запрос на закрытие комментирования поста, но не обновили отображение страницы ВКонтакте.
status=vk_close_comment(-217960351,12)
status=vk_open_comment(-217960351,12)

▶️ Удаление комментария со стены
Доступно на трифе Премиум

vk_delete_wall_post_comment()

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

▶️ Как найти сообщение по тексту и получить все необходимые параметры по нему
Доступно на трифе Премиум

vk_search_message()

Описание
Примеры
Пример кода для копирования
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()

Описание
Примеры
Пример кода для копирования
check_vk_subscription(group_id)
Параметры: ! group_id - идентификатор сообщества, подписку на которое необходимо проверить. Если к проекту подключена только одна группа/сообщество, то этот параметр можно опустить.
В ответ возвращается значение True, если подписан, и False, если не подписан.
Если к проекту подключено одно сообщество ВКонтакте, то в поле "Калькулятор" пишем, например, так: result = check_vk_subscription()
Вместо result вы можете использовать свое название переменной. Дальше сравниваем значение нашей переменной: в одну стрелку пишем в поле "Переменная для сравнения" result == True , а в другую result == False
Проверка подписки на сообщество ВКонтакте
Если есть необходимость проверить подписку на другое сообщество, то укажите параметр group_id в качестве параметра функции:
Проверка подписки на конкретную группу Вконтакте
Проверка подписки на конкретную группу Вконтакте
Если вам не нужно разделять пользователей по разным цепочкам в боте, можно сделать проверку и выдачу ответа одним блоком с помощью оператора if. Пример:
result = check_vk_subscription()
otvet = if(result == True, "Подписка есть", if(result == False, "подписки нет", "Не могу проверить, сорян"))
Проверка подписки с обработкой результата через if
result=check_vk_subscription()

▶️ Как закрепить/открепить сообщения в чатах сообщества во ВКонтакте
Дост�упно на трифе Премиум

vk_pin_message() | vk_unpin_message()

Описание
Примеры
Пример кода для копирования
Закрепление сообщения чата
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()

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

▶️ Как работать с Callback-кнопками во ВКонтакте
Доступно на трифе Премиум

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

- Как перейти по ссылке после нажатия callback-кнопки

vk_callback_url()

Описание
Пример
Пример кода для копирования
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()

Описание
Пример
Пример кода для копирования
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 о нажатии кнопки придет не в чат, а в диалог бота с клиентом. Соответственно необходимо предусмотреть получение идентификаторов чата и клиента.
Пример настройки блоков для работы с функцией:
настройка блока с callback-кнопкой
настройка callback-кнопки
настройка реакции на нажатие callback-кнопки
Итак, оценим результат:
Тестирование работы функции Alert-уведомления
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()

Описание
Пример
Пример кода для копирования
vk_get_chat_member_count(platform_id )
Параметры
! platform_id - идентификатор чата.
Итак, давайте узнаем число участников нашего чата.
Для работы с функцией нам потребуется идентификатор нашего чата. В предыдущей функции рассмотрен вариант получения идентификатора чата через переменную platform_id. Второй вариант получения идентификатора - это посмотреть идентификатор в карточке клиента и прописать его значение в параметре функции.
Вывод числа подписчиков чата
Обратите внимание! Функция возвращает значение количества подписчиков чата за минусом ботов.
count = vk_get_chat_member_count(2000000001)

▶️ Как получить ссылку-приглашение в чат
Доступно на трифе Премиум

Описание
Пример
Пример кода для копирования
vk_export_chat_link(platform_id, new)
Параметры:
! platform_id – идентификатор чата new – при передаче в него любого значения прежняя ссылка перестает работать и будет возвращена новая ссылка, если же его не передавать, то вернет актуальную ссылку.
Вы можете формировать ссылку на чат и передавать ее клиентам:
Настройка блока для получения ссылки на чат
Получение ссылки на чат
link=vk_export_chat_link(platform_id, new)

▶️ Как отметить в сообществе диалог как важный/отвеченный/прочитанный
Доступно на трифе Премиум

vk_mark_conversation()

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

▶️ Как снять отметку “важно” с диалога или обозначить диалог непрочитанным в сообществе
Доступно на трифе Премиум

vk_unmark_conversation()

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