LoadUserList
LoadUserList — загружает содержимое списка пользователей в текущий контекст.
📝 Назначение
Позволяет получить массив ID пользователей из указанного списка для дальнейшей обработки (рассылка, проверка, массовые операции).
Когда это нужно:
- Получить список участников для массовой рассылки
- Проверить состав списка перед очисткой
- Перебрать пользователей для выполнения действий над каждым
💡 Совет: Если нужно не просто получить список, а сразу выполнить действие над каждым пользователем, используйте
TakeUserList.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| Список пользователей | Выбор из списка | ✅ Да | Имя списка для загрузки |
📍 Результат
После выполнения реакции содержимое списка доступно в переменной:
${load}
Структура ${load} — массив строк (ID пользователей):
[
"123456789",
"987654321",
"555666777"
]
⚠️ Важно: ID загружаются в виде строк, даже если исходно были числами.
🧪 Примеры использования
Пример 1: Загрузка списка и отправка сообщения каждому пользователю
Задача: Отправить сообщение всем участникам списка contest_participants.
Реакции:
LoadUserList→Список пользователей:contest_participantsTriggerFolderс итерацией по${load}(цикл)
- Внутри:
SendMessage→chat_id:${user_id}, текст:Поздравляем! Вы участвуете в розыгрыше.
Пример 2: Проверка количества участников в списке
Задача: Узнать, сколько пользователей в списке blacklist.
Реакции:
LoadUserList→Список пользователей:blacklistSetVarLocal→count = !{list.len|list: ${load}}SendMessage→ текст:В чёрном списке ${localVar.count} пользователей
Пример 3: Проверка, пуст ли список
Задача: Перед рассылкой проверить, есть ли участники.
Реакции:
LoadUserList→Список пользователей:contest_participantsTriggerFolderс условием:Number→!{list.len|list: ${load}}=0
- Внутри:
SendMessage→Список пуст. Добавьте участников.
Пример 4: Получение первого пользователя из списка
Задача: Выбрать первого участника из списка для специального приза.
Реакции:
LoadUserList→Список пользователей:winnersSetVarLocal→first_winner = !{pick|value: ${load}; key: 0}SendMessage→Первый победитель: ${localVar.first_winner}
🔄 Особенности поведения
| Ситуация | Поведение |
|---|---|
| Список пуст | ${load} возвращает пустой массив [] |
| Список не существует | Реакция вызовет ошибку |
| В списке тысячи пользователей | Загружаются все (без ограничений) |
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| AddToUserList | Добавить пользователя в список |
| DelFromUserList | Удалить пользователя из списка |
| TakeUserList | Получить список для массовой обработки |
| ClearUserList | Очистить список |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Списки пользователей | Общая информация о списках |
| Макрос list | Работа с массивами |
| Макрос pick | Извлечение элемента из массива |