Универсальная команда с реакцией на комментарий один раз

Демонстрация настройки

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

Как всегда закрываем возражение «Что там сложного? Событие «Написал комментарий в 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т.е. за коммент поста мы будем давать пять баллов.

Увеличиваем количество баллов на 5
Увеличиваем количество баллов на 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} есть в документации.

Тестируем.

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

Все отлично работает.

Творческих взлётов и успешного внедрения.

Вернуться к списку инструкций
413 views·30 shares