Выдача случайного совета с фото из ресурса

Пример настройки

Материалы для изучения

Перед началом работы важно подготовить список советов. Вы можете написать его самостоятельно или нагуглить в интернете (выбирайте что удобнее). Но важен формат этих советов:

  • По одному совету на строку.
  • Без пропусков строк.
  • Простым списком без левых символов (маркеров списка).
  • Начиная с маленькой буквы.
  • В примечании будут храниться изображения вида photo-41103148_456239479 (по одному на строку)
Важно! Я буду загружать изображения в открытый альбом, даже если пользователи увидят ваши изображения ничего страшного не произойдет (ну или можно всегда выключить раздел с Фотографиями)

Загрузка фотографий

Для загрузки фотографий нужно перейти в Управление → Разделы → Фотоальбомы, ставим галочку и нажимаем сохранить

Выдача случайного совета с фото из ресурса, image #1

После этого у вас в сообществе появится раздел для добавления фотографий. Добавлять фотографии очень просто, я уверен, вы справитесь

Создание ресурса

Далее переходим в базу данных вашего сообщества — раздел Ресурсы и создаем там новый ресурс с названием Советы

Чтобы при запуске команды достать поле «содержимое» этого ресурса, есть два способа:

  • Точно скопировать название ресурса (Советы).
    В команде написать: {get}Советы|name|body{/get}
  • Точно скопировать номер ресурса (XXXXX).
    В команде написать: {get}XXXXX{/get}

Пример итогового результата для советов с картинками:

Пример ресурса
Пример ресурса

Настройка команды для выдачи случайной строчки с текстом и картинкой

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

Событие:

1) Сообщение: «Написал сообщение» с текстом содержащим: совет

Пример настроенного события:
Пример настроенного события:

Действия:

1) Временная переменная %resource% = {get}Советы|name|body{/get}

Пример действия
Пример действия

2) Временная переменная %pic% = {get}Советы|name|note{/get}
В переменную достаем все строки примечания из ресурсов

Пример действия
Пример действия

3) Временная переменная %string_count%= {array}%resource%|0|count|col{/array}
В этой переменной храним количество строк из содержимого ресурса

Пример действия
Пример действия

4) Временная переменная %string_num% =
{rand_range}1-%string_count%{/rand_range}
В этой переменной случайным образом генерируем число от 1 до количества строк в ресурсе

Пример действия
Пример действия

5) Временная переменная %text%={array}%resource%|%string_num%|val|col{/array}
В этой переменной храним строку с номером %string_num% из содержимого ресурса

Пример действия
Пример действия

6) Временная переменная %pic_note%= {array}%pic%|%string_num%|val|col{/array}
В этой переменной храним строку с номером %string_num% из примечания ресурса

Пример действия
Пример действия

7) Действие: «Отправить сообщение» в ответ с текстом:

@id%vk_id% (%first_name%), %text%

и вложением: %pic_note%

Пример действия
Пример действия
Важно! На этапе тестирования всегда выводите себе переменные, как показано ↓. Иначе найти ошибку будет сложно

8) Опционально. Действие: «Отправить сообщение» сотруднику с текстом:

#переменные

string_count - %string_count%
string_num - %string_num%
pic_note - %pic_note%
text - %text%
Пример вывода переменных
Пример вывода переменных

Тестируем.

Ура! Работает)
Ура! Работает)

А как же сделать выдачу советов по номеру строки введенной от пользователя? Легко. Не верите? Зря.

Настройка команды для выдачи строки с текстом и картинкой по номеру строки введенному пользователем

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

Здесь будет использоваться копия команды с добавлением всего одного условия и заменой одного действия.

Событие:

Из предыдущей команды + к нему добавляем условие:

1) Числовая переменная %content%больше или равна 1и числовая переменная %content%меньше или равна 3, где 3 — количество строк в содержимом ресурса (мы договорились, что считается по умолчанию количество строк в содержимом и примечании равно), иначе в реакции поясняем пользователю, что совета с таким номером нет.

Пример секции с условием
Пример секции с условием

Действия:

Здесь все остается без изменений, только действие: %string_num%заменяем копией и в нем пишем функцию {num}%content%{/num}которая достает число из введенного пользователем сообщения.

Пример действия
Пример действия

Все, можно тестировать. Да и блок отправки сообщения администратору можно поставить на паузу. Он уже не нужен + предыдущую команду нужно выключить

Получен второй совет
Получен второй совет

Как видно, вообще ничего сложного. Творческих взлётов

Вернуться на главную страницу инструкций

910 views·78 shares