Переменные для вложений - Пример настройки

Наглядный пример работы и настройки

Примеры задач:

1) Есть набор слов которые могут быть отгаданы. Каждому слову соответствует отдельная картинка. Пользователь отправляет одно или несколько слов и должен получить только картинки тех, слов которые написал в сообщении.

2) Каждая картинка имеет свою цифру. Пользователь отправляет одну или несколько цифр. И должен получить соотвествующие картинки.

Теория

Для каждой из задач решение будет аналогичным. Нужно:

  • Создать переменную отдельным блоком в действиях.
  • По умолчанию поставить ей значение 0 или (ничего). И при этом не выбрать никаких условий, чтобы она по любому существовала. Хотя в принципе можно добавить и первое условие. Просто тут по умолчанию выставить 0, а в последующих блоках название переменной.
  • Для каждой картинки добавить отдельный блок (не путать с «пакетом») условий. В этих блоках:
  • 1) название переменной вставить в название и в значение по умолчанию (если не подходят условия, переменная просто будет передана дальше).
  • 2) В качестве значения «если подходят условия» указать что-то типа: %attach%,photo26187274_456242616 (переменная и значение через запятую. Без пробелов и http:vk.com/!). Итоговые значения удобно получать, вставляя в Автопилот исходные ссылки на вложения в действие «отправить сообщение».
  • Указать переменную вместо обычной ссылки на вложения.
  • В действии сообщения в доп. опциях поставить галочку «Сообщение может быть пустым».

Практика

Практический пример реализации можно увидеть на видео в начале статьи. Ниже на скриншотах покажу главное.

1) Настройка «условий»:

Настройка условий
Настройка условий

2) Настройка действия:

Пример настройки сообщения, которое не будет отправлено, если во вложениях будет пусто или 0
Пример настройки сообщения, которое не будет отправлено, если во вложениях будет пусто или 0

Резюме

Во время выполнения команды сервис:

  • Создает переменную.
  • Добавляет в нее текст (ссылку на вложение), если подходят условия.
  • Если не подходят условия просто не будет ее изменять.
  • Обрабатывает ее окончательно, когда доходит до вложений сообщения.
  • Если при этом не указан текст сообщения и не было добавлено ни одно вложение, то сообщение попросту не отправляется (благодаря галочке).

Минусы

Особенности обработки блока «переменная» вынуждают обрабатывать каждую переменную отдельно для каждого поля (значение по умолчанию + значение + сама переменная). Это занимает много времени и ресурсов и команда выполняется медленно. У моем случае 4-5 условий обрабатывались около 3 сек.

Стикеры

Чтобы аналогично отправить переменной стикер, в значение переменной записывайте не ссылку на картинку стикера, а его ID (числом).

Фишки

1) Итоговую переменную можно еще раз проверить, на наличие 0 и отправить «сообщение по умолчанию».

Отправляем картинку с надписью «Картинки не найдены»
Отправляем картинку с надписью «Картинки не найдены»

2) Чтобы скрасить пользователю ожидание можно в начало команды добавить блоки «Имитировать набор текста» и «Задержку на 10 сек». Именно с задержкой и именно на 10 сек. Без нее имитация набора может работать некорректно или некрасиво.

Переменные для вложений - Пример настройки, image #4
Вернуться на главную страницу инструкций
186 views·3 shares