GetChatAdministrators
GetChatAdministrators — получает полный список администраторов группы или канала.
📝 Назначение
Используется для получения информации о всех администраторах чата: их правах, статусе (создатель/администратор), возможности назначать других администраторов и т.д.
Когда это нужно:
- Проверить, является ли пользователь администратором
- Получить список всех администраторов для логирования
- Проверить права конкретного администратора (может ли он банить, менять информацию и т.д.)
- Найти создателя чата (владельца)
💡 Совет: Для получения информации об одном администраторе используйте реакцию GetChatMember. Для массовых операций рекомендуется использовать кэширующие реакции
LoadChatAdministrators.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat.id | Integer/String | ✅ Да | ID чата/канала или @username (для публичных) |
📍 Результат
После выполнения реакции результат доступен в переменной:
${response.result}
Структура ответа — массив объектов, каждый из которых описывает одного администратора.
Поля объекта администратора
| Поле | Тип | Описание |
|---|---|---|
status |
String | Статус: creator (создатель) или administrator |
user |
Object | Информация о пользователе (id, first_name, username и т.д.) |
is_anonymous |
Boolean | Скрыт ли администратор (анонимный режим) |
custom_title |
String | Пользовательский титул (если есть) |
Права администратора (для status = administrator)
| Поле | Описание |
|---|---|
can_be_edited |
Может ли быть отредактирован (права могут быть изменены другим админом) |
can_manage_chat |
Полный доступ к управлению чатом |
can_change_info |
Может изменять название и аватар чата |
can_delete_messages |
Может удалять сообщения других участников |
can_invite_users |
Может приглашать новых участников |
can_restrict_members |
Может блокировать и ограничивать участников |
can_promote_members |
Может назначать других администраторов |
can_pin_messages |
Может закреплять сообщения |
can_manage_topics |
Может управлять темами форума |
can_manage_video_chats |
Может управлять видеозвонками |
can_post_stories |
Может публиковать истории (сторис) |
can_edit_stories |
Может редактировать чужие истории |
can_delete_stories |
Может удалять истории |
💡 Совет: У создателя чата (
creator) права не перечисляются — он имеет все возможные права.
🔐 Требуемые права бота
| Тип чата | Требуемые права |
|---|---|
| Группа/супергруппа | Бот должен быть администратором чата |
| Канал | Бот должен быть администратором канала |
⚠️ Важно: Если бот не администратор, реакция вернёт пустой массив или ошибку.
📊 Пример ответа (развёрнутый)
{
🧪 Примеры использования
Пример 1: Получить список всех администраторов
Задача: Получить имена всех администраторов чата.
Реакции:
GetChatAdministrators→chat.id:${chat.id}SetVarLocal→ название:admins_list, значение:(формируется)SendMessage→ текст:Администраторы чата: ...
💡 Совет: Для обработки массива администраторов может потребоваться использование макроса
!{list}илиTriggerFolderс итерацией.
Пример 2: Проверить, является ли пользователь администратором
Задача: Проверить, есть ли отправитель сообщения в списке администраторов.
Реакции:
GetChatAdministrators→chat.id:${chat.id}TriggerFolderс условием:InList→ проверить${user.id}в списке${response.result.*.user.id}
- Внутри: (пользователь — администратор)
- Иначе: (обычный пользователь)
Пример 3: Найти создателя чата
Задача: Найти владельца чата (status = creator).
Реакции:
GetChatAdministrators→chat.id:${chat.id}- (Поиск элемента с
status=creatorс помощью макроса!{list.find}) SendMessage→ текст:Владелец чата: ${creator_name}
Пример 4: Проверить права конкретного администратора
Задача: Проверить, может ли администратор банить пользователей.
Реакции:
GetChatAdministrators→chat.id:${chat.id}TriggerFolderс условием: поиск администратора поuser.idTriggerFolderс условием:Bool→can_restrict_members=true
- Внутри:
Администратор может банить - Иначе:
Администратор НЕ может банить
⚠️ Лимиты Telegram API
| Лимит | Значение |
|---|---|
| Запросов в секунду на чат | Не более 30 запросов |
| При превышении | Ошибка 429 Too Many Requests |
💡 Совет: Для массовых операций используйте кэширующие реакции
LoadChatAdministrators(работает с данными из базы бота, без лимитов).
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| GetChatMember | Получить информацию об одном участнике |
| LoadChatAdministrators | Загрузить администраторов из базы бота (кэш) |
| PromoteChatMember | Назначить администратора |
| GetChat | Получить информацию о чате |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Обработчики «Вход/выход» | Отслеживание назначения администраторов |
| Макрос list | Работа с массивом администраторов |