Раздел Ресурсы (глобальные переменные)
Вы можете создавать «ресурсы», которые будут общими для всех подписчиков и использовать их элементы в командах. При необходимости сменить содержимое ресурса сразу для всех команд, вы можете быстро это сделать в специальном разделе.
Практические варианты использования:
- Получать экзаменационный билет по его номеру.
- Привязать картинки / документы к словам или номерам и доставать их по номеру.
- Иметь какой-то общий шаблончик содержимого который будет подставляться для всех сообщений.
Вариант использования в будущем:
- Сделать общее количество каких-либо валют или ресурсов для всех игроков с возможностью «исчерпать ресурс». Например скупить все «дома», или выкачать всю «нефть».
Параметры ресурса
По любому из этих ↓ параметров можно искать ресурс. А также по сист. №
- Название. Суть очевидна. Максимальная длинна: 230 символов. Например: ключевое слово и номер экзаменационного билета. Идеальный вариант: 3-цифровые числа (потому что во время поиска не будет конфликтов. Хотя и так не должно).
- Содержимое. Число или текст. Максимальная длинна: ~ 65 000 символов. Здесь основной текст сообщения, или основной список строк и т.п. В общем вся главная информация.
- Примечание. Число или текст. Максимальная длинна: ~ 8000 символов. Здесь дополнительная информация. Например в случае с экзамен. билетом тут может находится «правильный ответ». Для учителя или проверки. Также здесь удобно хранить небольшие JSON объекты (благодаря наличию форматирования).
Скрытые параметры.
- «Порядковый номер». Это важный параметр. при конфликте ресурсов (когда будет найдено 2 или больше) будет выбран тот который с меньшим порядковым номером. Редактируется не в карточке, а в форме редактирования.
- Сообщество. Чтобы хранить ресурс в другом сообществе, просто выберите нужное на форме редактирования. Примечание: ресурсы любого сообщества доступны в том числе и в действиях любого другого сообщества.
Поиск и получение данных ресурса
Для этой цели существует переменная {get}000{/get}
, гже 000
— системный № ресурса. Однако есть и другие варианты поиска. Подробную документацию по переменной можно посмотреть в этом разделе.
Пример «Выдача экзаменационных билетов»
Практический пример использования я показал на видео. ↑ Очень краткая суть:
- Формируем порядковый номер выданного билета уровнями отдельного списка. В настройках действия можно указать «увеличить на: 1».
- Дальше создаем «временную переменную» с названием, например,
%card_num%
(номер билета) и значением:{rand_range}1-30|%note%{/rand_range}
, при условии если уровень списка «Экзамен» «не больше» [количества вопросов]. Например: 30. В «значении по умолчанию» оставляем:0
. Переменная%note%
нужна здесь, чтобы исключить вероятность возможности вытащить второй раз тот же билет. В этом примере будем сохранять номера билетов именно в «примечания подписчика».

В следующих действиях переменная %card_num%
будет содержать в себе полезную информацию. А именно если ее значение 0, то это значит, что или все билеты разобраны или больше не нужно вытаскивать.
- Следующим блоком создаем переменную (например,
%new_note%
), в которую будем: либо оставлять примечание в нетронутом виде:%note%
(если «переменная»%card_num%
= 0), либо дописывать текущий номер билета:%note%,%card_num%
к примечанию подписчика. - После чего запишем временную переменную в примечание. Обязательно нужно выбрать опцию «Изменено» (не «Дописано»).

- Аналогично и для сообщения подписчику. Во первых, временная переменная (например,
%card%
): должна принимать какое-то общее значение, если «переменная»%card_num%
= 0. Или если не равна, то что-то типа:{get}Билет %card_num%|name|body{/get}
(что значит: получить содержимое ресурса (вопрос билета) в списке ресурсов по названию и доп. слову в названии: «Билет»). Если нужно получить также «примечание ресурса» ( в котором будет, например, «правильный ответ»), то запись будет такой:{get}Билет %card_num%|name|note{/get}
. - Во вторых, сообщение в котором можно написать любую дополнительную общую информацию и, конечно, содержимое ресурса:
%card%
.

- Если нужно запоминать текущий номер ответа, можно использовать действие Сменить уровень списка. Например, с названием «Текущий билет». И в номер уровня записывать переменную:
%card_num%
. Тогда можно будет ответ получать отдельным сообщением в другой команде. Например так:{get}Билет {list_level}000{/list_level}|name|note{/get}
, где000
— номер списка «Текущий билет». Если подписчик не получал ни одного вопроса, уровень будет 0.
Лайфхак
Чтобы не создавать дополнительную переменную (действие № 506 в примере) можно просто создать ресурс с названием «Билет 0». И уже в нем прописать фразу «Экзамен пройден» :)
ПРИМЕРЫ ЗАПРОСОВ:
После // пример результата выполнения
Текстовый ресурс по номеру:
{get}1{/get} // Глобальные "ресурсы" общие для всех 'подписчиков'.
№ (id) числового ресурса и его название по содержимому (в виде числа):
{get}1003|id|body{/get}: {get}1003|name|body{/get} // 4: Числовой ресурс
Содержимое (число) по слову из примечания и в другом сообществе:
{get}ответ|note|body|41102729{/get} // 100
Содержимое ресурса по названию Автопилот в другом сообществе:
{get}Автопилот|name|body|183601501{/get}
Содержимое ресурса по названию Автопилот:
{get}Автопилот|name|body{/get}
Случайный билет (содержимое ресурса) по названию, исключая выданные (которые сохраняем в примечаниях подписчика):
{get}Билет {rand_range}1-20|%note%{/rand_range}|name|body{/get} // Баклажан это гриб? Почему?
Примечание по элементу массива, введенному подписчиком (тут список по значению на строку):
{get}%content%|body|note|0|col{/get}
Получение содержимого ресурса с названием Автопилот 2077 в текущем сообществе.
Важно! Если у вас есть три ресурса — Автопилот 2077_1, Автопилот 2077_2, Автопилот 2077, то выдаст содержимое ресурса Автопилот 2077, так как название на 100% совпадает с поисковым запросом.
{get}Автопилот 2077|body|name|%event_club_id%|equal{/get}
Задать вопрос / замечание / пожелание или просто лайкнуть инструкцию и новую функцию можно в этом посте.
Вернуться на главную страницу инструкций