Универсальная команда с реакцией на комментарий один раз
А сегодня мы научимся делать механику, которая позволяет писать комментарий только один раз под всеми постами и реагировать на удаление комментария.
Как всегда закрываем возражение «Что там сложного? Событие «Написал комментарий в VK» и указать идентификатор поста»

Да, а если у вас 10, 15 постов. Конечно, можно скопировать команду, заменив идентификаторы постов, добавить условие «Выполнена команда» 0
ровно 0
раз, но это не наш метод.

Для начала в разделе «Списки игроков для VK» делаем список для начисления баллов. В примере список с типом рейтинг и номером: 1607247
Важно! Номер события у вас будет другой, также вы можете сделать список этим событием в выключенной команде.

Команда «Начисление баллов за комментарий к посту»
Важно! В примере мы будем реагировать не только на сам комментарий, но и на редактирование комментария. Не забудьте проверить, что у вас сделан ключ для комментариев по этой инструкции.
Событие:
1) Для реакции на комментарий используем событие «Написал комментарий в VK» и любым идентификатором для реакции на комментарий под любым постом.

2) Для реакции только на те посты, на которые еще не было комментария, добавляем условие функция {json}%player.post%|%post_id%{/json}
содержит not found

т.е. в поле игрока post
(название может быть любым удобным вам), нет свойства с идентификатором поста %post_id%
Важно! На этапе тестирования вы можете в реакции на невыполнение можно выводить текст (для этого пользователь должен разрешить диалог с вашим сообществом, согласно Азбуке рассылок ВК)
3) Опционально: если вы хотите реагировать только на посты с вложением картинка, то добавьте условие переменная %attach_type%
содержит photo

Подробности о типах вложений можно прочесть тут. Условия могут быть любыми, которые вы настроите.
Для реакции на изменение комментария жмем «Добавить секцию»
И добавляем:
1) Событие «Исправил комментарий» с пустым идентификатором и любым текстом для реакции на исправление любого комментария.

Условия копируем из секции выше и вставляем по номеру в секцию. Справились? Отлично идем дальше.
Действия:
1) Для того, чтобы записать в поле игрока идентификатор поста под которым поставлен был поставлен комментарий, добавляем действие «Изменить поле профиля игрока» с названием post.%post_id%
и значением равным 1

2) Для начисления баллов добавим действие: «Добавлен в список» 1607247
и уровень увеличен на 5
т.е. за коммент поста мы будем давать пять баллов.

3) Для сохранения количества баллов запишем их во временную переменную %ball%
= {level}1607247{/level}

4) Опционально пишем комментарий действием «Написать комментарий в VK» с текстом:
Спасибо у вас сейчас %ball% {case} %ball% |балл|балла|баллов{/case}
Важно! Для ответного комментария не забудьте нажатьЕще
→«Ответить» на комментарий с ID:
сюда вставить переменную%object_id%
или кликнуть по сноске справа рядом.

Команда «Удаление комментария»
Важно! В примере ниже показано пример где мы просто вычитаем необходимое количество баллов.
Каждое удаление комментария ест одну милю. Если необходимо реагировать только на нужные комментарии (написанные после автоматизации), то используем условие ниже.
Событие:
1) Для реакции на удаление комментария используем событие «Удалил комментарий»

2) Опционально, чтобы не было реакции на удаление комментариев до автоматизации добавляем условие «значение переменной» {json}%player.post%|%post_id%{/json}
содержит not found
и нажимаем «Если не» т.е. мы будем реагировать только если есть поле игрока с написанным комментарием.

Действия:
1) Для того, чтобы записать в поле игрока идентификатор поста под которым был удален коммент, добавляем действие «Изменить поле профиля игрока» с названием post.%post_id%
и значением равным 1

2) Для уменьшения баллов добавим действие: «Добавлен в список» 1607247
и уровень уменьшен на 5
т.е. за удаление коммента под постом мы будем снимать пять баллов.

Следующие два блока с записью количества баллов в переменную и вывод пользователю вы можете скопировать из предыдущей команды по номеру действия, либо вообще их не использовать.
3) Для сохранения количества баллов запишем их во временную переменную %ball%
= {level}1607247{/level}

4) Опционально действием: «Отправить сообщение» отправляем данные игроку:
Спасибо у вас сейчас
%ball% {case} %ball% |балл|балла|баллов{/case}

Здесь в зависимости от переменной %ball%
выводит игроку текст с количеством баллов Подробности про функцию {case} есть в документации.
Тестируем.



Важно! После удаления комментария даже если пытаться написать его снова? баллы не начисляться, чтобы клиенты не баловались пытаясь фармить баллы и вы не платили за лишние мили Автопилота.
Все отлично работает.
Творческих взлётов и успешного внедрения.
Вернуться к списку инструкций