Советы от подписчиков
Всем привет! Уже было несколько инструкций, как сделать выдачу цитат на автопилоте, а сегодня будет реализован следующий функционал.
1) Советы могут добавляться любым подписчиком (возможно добавление условия — только сотрудник аккаунта).
2) Выдача случайного совета.
3) Удаление совета Администратором.
Интересно? Тогда идем скорее в Автопилот.
Создание ресурса
Переходим в базу данных вашего сообщества — раздел Ресурсы/База данных и создаем там новый ресурс с названием: Советы(важно использовать именно такое название для удобства дальнейшей настройки).
Чтобы при запуске команды достать поле «содержимое» этого ресурса, есть два способа (рекомендую первый):
- Точно скопировать название ресурса (
Советы).
В команде написать:{get}Советы|name|body{/get} - Точно скопировать номер ресурса (
XXXXX).
В команде написать:{get}XXXXX{/get}
Важно! Если Вы хотите хранить ресурс в одном сообществе, а использовать в другом, то необязательно использовать копирование ресурса, достаточно указать 4 параметром ID сообщества в котором хранится ресурс.
Например:
В команде написать:
{get}Советы|name|body|183601501{/get}либо
{get}Советы|name|body|%event_club_id%{/get}Для того чтобы реагировало только на название Советы можно добавить
{get}Советы|name|body|%event_club_id%|equal{/get}Текст цитаты мы будем записывать в строчку.
Пример:
В любой момент у нас есть два варианта: сделать шаг вперёд к росту или вернуться в безопасное место.
«Возможности не приходят сами — вы создаете их». Крис Гроссер (Chris Grosser)
«Успех обычно приходит к тем, кто слишком занят, чтобы его просто ждать». Генри Девид Торо (Henry David Thoreau)
«Возьмите идею. Сделайте ее своей жизнью — думайте о ней, мечтайте о ней, живите ею.
«Чтобы достичь успеха, перестаньте гнаться за деньгами, гонитесь за мечтой». Тони Шей (Tony Hsieh)
Создаем ресурс, нажав на Еще и выбираем Ресурсы/База данныхПример ресурса на скриншоте:
Итак, создается пустой ресурс с любым названием, например, Советы,
главное записать номер ресурса, в данном примере 370603
Команда «Добавить совет»
События:
1) Написал сообщение с текстом, подходящим под регулярное выражение ^добавить совет:
ВАЖНО! Для переключения переключатель с содержащим на подходящим под регулярку и вводим нужный текст. Если какие -то условия, например «Сотрудник Аккаунта» у вас были в других командах, то выбирайте их из каталога, нажатием на «Найти в каталоге»
По желанию добавляем условия:
1)«Сотрудник аккаунта, чтобы команду мог запустить только Администратор сообщества, либо тот, у кого есть разрешение.» Тогда советы сможет добавлять только Администратор.
2) Переменная %is_conv%равна 0— чтобы команда срабатывала, если подписчик написал в сообщения сообщества.
Действия:
1) Добавляем временную переменную %add_recommendations%
со значением:
{reg}%content%~~^добавить совет: (.+)~~1{/reg}которая найдет из регулярного выражения введенный совет. Рассмотрим ее подробнее:
%content%— означает, что поиск будет идти по тексту введенному пользователем.^добавить совет: (.+)означает, что поиск будет проходить по шаблону, фраза начинается со словдобавить совет:а после нее мы «извлечем» любой текст. Подробности в инструкции.
1— номер скобочной группы, у нас скобки одни, поэтому единица.
2) Добавляем действие: «Создать /изменить ресурс». Ставим переключатели «изменить или создать ресурс» с «названием равным» Советыи для содержимого «добавить строки» %add_recommendations%
Поясню: изменяем или создаем ресурс с номером Советы и записываем в нее цитату из переменной.
Важно! У вас ↑ будет другое название ресурса. Это стоит для примера.
3) Отправляем сообщение с текстом:
#Совет_добавлен
Совет %add_recommendations% добавлен в копилку.
Тестируем.
Команда: «Совет:»
События:
1) Событие «Написал сообщение» с текстом, подходящим под регулярное выражение ^совет
2) Опционально, настраиваем условия: %is_conv%= 0нужно взять из предыдущей команды.
3) Численная переменная
{array}{get}Советы|name|body|%event_club_id%|equal{/get}|0|count|col{/array}не равна 0— то есть, мы проверяем есть ли в ресурсе советы, а то может быть выводить нечего и в реакции на выполнение, можем дать образец, то есть в реакции на невыполнение пишем текст с просьбой его ввести:
%first_name%, советов нет. Добавить свой совет можно командой
добавить совет: и после двоеточия ввести совет, например:
добавить совет: Выносливость «Не ноша тянет вас вниз, а то, как вы ее несете», — Лу Хольц
Важно! Это можно делать в случае, если разрешено добавление советов от подписчиков.
Действия:
1) Действием «Задать временную переменную» с названием %recommendations%
со значением:
{get}Советы|name|body|%event_club_id%|equal{/get}
2) Действием «Задать временную переменную» с названием %recommendations%
со значением:
{array}%recommendations%|1|rand|col{/array}
3) Действие «Отправить сообщение» клиенту с текстом:
@id%vk_id% (%first_name%,)
%random_recommendation%
Тестируем.
Самая простая команда, которая выдает случайный совет.
Команда: «Удалить совет»
Для начала рассмотрим ресурс. В примечании указано количество советов, а в содержимом советы. Для того чтобы удалить например 2 строку — Крисс Гроссера, нам нужно будет передать ключевик удалить совет 2
События:
1)Написал сообщение с текстом, подходящим под регулярное выражение ^удалить совет
2) ОБЯЗАТЕЛЬНО добавляем условие «Сотрудник Аккаунта», чтобы удалить советы могли только Администраторы.
Для того чтобы добавить условие, нажимаем на кнопку «Найти в каталоге», либо копируем номер условия из команды на добавление советов(если вы его делали конечно) и вставляем в поле ввода.
3) Опционально, добавляем условие %is_conv% = 0(можно из предыдущих команд).
4) Из предыдущей команды копируем условие «Есть советы»
5) Добавляем условие переменная
{array}{get}Советы|name|body|%event_club_id%|equal{/get}|{num}%content%|math{/num}|val|col{/array}не подходит под регулярку ^0$- т.е. проверяем есть ли строка с таким номером в ресурсе, иначе вернет 0
и в реакции на выполнение, можем дать образец, то есть в реакции на невыполнение пишем текст с просьбой его ввести:
%first_name%, совета с таким номером нет. Добавить совет можно командой добавить совет. Пример:
Добавить совет В любой момент у нас есть два варианта: сделать шаг вперёд к росту или вернуться в безопасное место.
Действия:
Важно! Будет производиться копирования из предыдущих команды, через кнопку «Найти в каталоге», будьте внимательны.
1) Из предыдущей команды копируем переменную %recommendations%
со значением:
{get}Советы|name|body|%event_club_id%|equal{/get}
2) Временная переменная %string%
со значением:
{array}%recommendations%|{num}%content%|math{/num}|val|col{/array}— данная функция достанет из массива строку с номером, введенным пользователем, т.е. удалить совет 3 вернет 3 строку из массива. Подробности в инструкции по массивам.
3) Добавляем действие «Создать/изменить ресурс» где изменяем ресурс с названиемСоветыи для содержимого удаляем строки со значением %string%
4) Действие «Отправить сообщение» клиенту с текстом:
#удален_совет
Совет %string% удален в копилку.
%string%
Тестируем.
Открываем ресурс.
Все отлично! Сегодня мы научились реализовывать механику добавление советов. Творческих успехов.
Оценить / обсудить статью можно в комментариях к этому посту.
Вернуться на главную страницу инструкций