LoadChatAdministrators
LoadChatAdministrators — загружает список администраторов чата из базы данных бота (кэш).
📝 Назначение
В отличие от GetChatAdministrators, который обращается к Telegram API за актуальными данными, LoadChatAdministrators загружает список администраторов из собственной базы данных бота (кэш). Это быстрее, не тратит лимиты API и не требует прав администратора для получения базовой информации.
Когда это нужно:
- Быстрое получение списка администраторов чата
- Когда не требуется абсолютная актуальность данных
- При работе с чатами, где бот не является администратором (в кэше могут быть данные от последнего взаимодействия)
💡 Совет: Используйте
LoadChatAdministratorsдля быстрых операций, где не критична актуальность. Для получения свежих данных (например, только что назначенного администратора) используйтеGetChatAdministrators.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat.id | Integer/String | ✅ Да | ID чата/канала, администраторов которого нужно загрузить |
📍 Результат
После выполнения реакции результат доступен в переменной:
${load}
Структура ответа — массив объектов, каждый из которых описывает одного администратора.
| Поле | Тип | Описание |
|---|---|---|
status |
String | Статус: creator (создатель) или administrator |
user |
Object | Информация о пользователе (id, first_name, username и т.д.) |
is_anonymous |
Boolean | Скрыт ли администратор (анонимный режим) |
custom_title |
String | Пользовательский титул (если есть) |
Пример ответа:
[
{
"status": "creator",
"is_anonymous": false,
"user": {
"id": 123456789,
"first_name": "Иван",
"last_name": "Создатель",
"username": "creator",
"is_bot": false
},
"custom_title": "Основатель"
},
{
"status": "administrator",
"is_anonymous": false,
"user": {
"id": 987654321,
"first_name": "Пётр",
"last_name": "Админ",
"username": "admin",
"is_bot": false
},
"can_be_edited": true,
"can_manage_chat": true,
"can_delete_messages": true,
"can_restrict_members": true,
"custom_title": "Модератор"
}
]
🔄 Сравнение с GetChatAdministrators
| Характеристика | LoadChatAdministrators | GetChatAdministrators |
|---|---|---|
| Источник данных | База данных бота (кэш) | Telegram API (актуальные) |
| Скорость | Быстро (локальный кэш) | Медленнее (запрос к API) |
| Лимиты API | ❌ Нет | ✅ Да (30 запросов/сек) |
| Актуальность | Может отставать | Абсолютная |
| Требует прав админа | Нет (если данные есть в кэше) | ✅ Да (бот должен быть админом) |
| Полнота прав | Права администраторов (из кэша) | Полные права администраторов |
💡 Совет: Используйте
LoadChatAdministratorsдля быстрого доступа к списку администраторов. Если нужно гарантированно получить актуальные права (например, после назначения нового админа), используйтеGetChatAdministrators.
🧪 Примеры использования
Пример 1: Получение списка администраторов из кэша
Задача: Быстро получить имена всех администраторов чата.
Реакции:
LoadChatAdministrators→chat.id:${chat.id}- (Обработка массива администраторов)
SendMessage→ текст с перечислением администраторов
Пример 2: Проверка, является ли пользователь администратором
Задача: Проверить по кэшу, есть ли отправитель в списке администраторов.
Реакции:
LoadChatAdministrators→chat.id:${chat.id}TriggerFolderс условием: поискuser.idв массиве${load.*.user.id}
- Внутри: (пользователь — администратор)
- Иначе: (обычный пользователь)
Пример 3: Нахождение создателя чата
Задача: Найти владельца чата (status = creator).
Реакции:
LoadChatAdministrators→chat.id:${chat.id}- (Поиск элемента с
status=creatorв массиве) SendMessage→Владелец чата: ${creator_name}
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| GetChatAdministrators | Получить актуальных администраторов из API |
| LoadChat | Загрузить информацию о чате из кэша |
| LoadChatMemberCount | Загрузить численность чата из кэша |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Чаты/Каналы в админке | Управление чатами через интерфейс |
🔗 Связанные разделы
- GetChatAdministrators — получение актуальных данных из Telegram API