Действие — Сменить исполнителя (выполнять для подписчика с ID…)

Наглядный пример настройки + Демонстрация работы

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

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

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

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

ВАЖНО

После изменения ID все переменные будут содержать в себе уже идентификатор нового подписчика. В том числе переменные %subs_id% и т. п. Если вам нужно помнить оригинальный %subs_id% все время, пока выполняется команда, запишите во временную переменную.

Практика использования

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

  • Предисловие: Все делается одной командой :-)
  • Во-первых, реагирует команда на обычные сообщения, содержащие в себе команды для бота: Обнять или Атаковать. Для упрощения, уберем блок переменных и оставим только команду «Обнять».
  • Кроме события в команде содержится условие переменная содержит следующее регулярное выражение: \[id\d+\|.+\]. Это условие позволит проверить было упоминание или нет. И если нет, то вежливо сказать об этом подписчику. Устаревшее, лучше использовать условие (↓)
  • Добавляем условие «есть упоминание» (на скринах «есть ли подписчик»):
    Числовая переменная {mention}%content%{/mention} больше 0.
    Раньше (↑) для подобного использовались регулярные выражения
    (\[id\d+\|.+\]), но в курсе «Лётная школа» Олександр рекомендует использовать именно такой вариант. Потому что он поддерживает как классическое упоминание игрока, так и ссылку на его профиль ВКонтакте. Это условие позволит проверить было упоминание или нет. И если нет, то вежливо сказать об этом подписчику.
Примеры упоминаний:
— обнять @son_of_sky
— обнять *son_of_sky
- обнять vk.com/son_of_sky
Пример настройки секции событий
Пример настройки секции событий
  • Дальше вы можете отправить сообщение пользователь, содержащее текст упоминания, пользователю который упомянул. Например так:
    Ищем {mention}%content%|text{/mention} …либо %mention%
  • И вот в этот момент «входит» действие «Выполнить для». И меняет «виновника» для последующих действий. В параметрах оно принимает ID. Поэтому в нашем случае, чтобы получить ID из упоминания используем переменную %mention%либо{mention}%content%{/mention}
  • А дальше что хотите. Картинки, текст, переменные. Новые переменные уже будут проверять все для нового подписчика. Небольшая полезность напоследок: кликабельное имя подписчика Автопилот может подставить вместо такой записи: @id%subs_id% (%first_name%).
Пример использования действия «Сменить исполнителя»
Пример использования действия «Сменить исполнителя»

Узнать подробнее о переменной «Упоминание» можно в этом разделе.

И бонус: кому интересно узнать про использования кнопок в беседах, об этом можно почитать в этом разделе. Но к слову, если вы запишите упоминание в кнопку, оно не сработает. Потому что бот получит сообщение в совсем другом формате. Лучше просто ID передать числом.

UPD. Также небольшое обновление в действии:

Обзор действия;
Обзор действия;

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

  • VK ID— дальнейшие действия будут выполнены для игрока с VK_ID, указанным в параметре 2
  • ID Автопилота— дальнейшие действия будут выполнены для игрока с ID Автопилота, указанным в параметре 2. Это может быть полезно для запуска команд без VK ID, пример запуска таких команд был показан в «Клубе опытных пилотов»
  • ID в Telegram— дальнейшие действия будут выполнены для игрока с Telegram ID, указанным в параметре 2. Это может быть полезно для запуска команд в Telegram
  • email — дальнейшие действия будут выполнены для игрока с почтой, указанной в параметре 2
  • телефон— дальнейшие действия будут выполнены для игрока с номером телефона, указанным в параметре 2

Полезные переменные действия:

  • %mention%— ID игрока из упоминания
  • %orig_subs_id% — ID профиля ВКонтакте того подписчика, для которого запустил текущее событие/команду.

После смены игрока и выполнения действий, рекомендуется менять исполнителя обратно через действие: «Сменить исполнителя» с переменной %orig_subs_id%

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

Вернуться на главную страницу инструкций
2085 views·48 shares
2085 views