Советы от подписчиков

Всем привет! Уже было несколько инструкций, как сделать выдачу цитат на автопилоте, а сегодня будет реализован следующий функционал.

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

Команда «Добавить совет»

Access restricted
Access to this video has been restricted by the community's managers
Пример настройки

События:

1) Написал сообщение с текстом, подходящим под регулярное выражение ^добавить совет:

Пример события
Пример события
ВАЖНО! Для переключения переключатель с содержащим на подходящим под регулярку и вводим нужный текст. Если какие -то условия, например «Сотрудник Аккаунта» у вас были в других командах, то выбирайте их из каталога, нажатием на «Найти в каталоге»

По желанию добавляем условия:

1)«Сотрудник аккаунта, чтобы команду мог запустить только Администратор сообщества, либо тот, у кого есть разрешение.» Тогда советы сможет добавлять только Администратор.

Советы от подписчиков, image #3

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%
Пример действия
Пример действия

Тестируем.

Получаем случайный совет
Получаем случайный совет

Самая простая команда, которая выдает случайный совет.

Команда: «Удалить совет»

Советы от подписчиков, image #16

Для начала рассмотрим ресурс. В примечании указано количество советов, а в содержимом советы. Для того чтобы удалить например 2 строку — Крисс Гроссера, нам нужно будет передать ключевик удалить совет 2

События:

1)Написал сообщение с текстом, подходящим под регулярное выражение ^удалить совет

Пример события
Пример события

2) ОБЯЗАТЕЛЬНО добавляем условие «Сотрудник Аккаунта», чтобы удалить советы могли только Администраторы.

Для того чтобы добавить условие, нажимаем на кнопку «Найти в каталоге», либо копируем номер условия из команды на добавление советов(если вы его делали конечно) и вставляем в поле ввода.

Советы от подписчиков, image #18

3) Опционально, добавляем условие %is_conv% = 0(можно из предыдущих команд).

Советы от подписчиков, image #19

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%
Советы от подписчиков, image #25

Тестируем.

Удаляем совет под номером 3
Удаляем совет под номером 3

Открываем ресурс.

Совет Трумэна удален
Совет Трумэна удален

Все отлично! Сегодня мы научились реализовывать механику добавление советов. Творческих успехов.

Оценить / обсудить статью можно в комментариях к этому посту.

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