EnotPRO Logo EnotPRO

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: Получить список всех администраторов

Задача: Получить имена всех администраторов чата.

Реакции:

  1. GetChatAdministratorschat.id: ${chat.id}
  2. SetVarLocal → название: admins_list, значение: (формируется)
  3. SendMessage → текст: Администраторы чата: ...

💡 Совет: Для обработки массива администраторов может потребоваться использование макроса !{list} или TriggerFolder с итерацией.

Пример 2: Проверить, является ли пользователь администратором

Задача: Проверить, есть ли отправитель сообщения в списке администраторов.

Реакции:

  1. GetChatAdministratorschat.id: ${chat.id}
  2. TriggerFolder с условием: InList → проверить ${user.id} в списке ${response.result.*.user.id}
  • Внутри: (пользователь — администратор)
  • Иначе: (обычный пользователь)

Пример 3: Найти создателя чата

Задача: Найти владельца чата (status = creator).

Реакции:

  1. GetChatAdministratorschat.id: ${chat.id}
  2. (Поиск элемента с status = creator с помощью макроса !{list.find})
  3. SendMessage → текст: Владелец чата: ${creator_name}

Пример 4: Проверить права конкретного администратора

Задача: Проверить, может ли администратор банить пользователей.

Реакции:

  1. GetChatAdministratorschat.id: ${chat.id}
  2. TriggerFolder с условием: поиск администратора по user.id
  3. TriggerFolder с условием: Boolcan_restrict_members = true
  • Внутри: Администратор может банить
  • Иначе: Администратор НЕ может банить

⚠️ Лимиты Telegram API

Лимит Значение
Запросов в секунду на чат Не более 30 запросов
При превышении Ошибка 429 Too Many Requests

💡 Совет: Для массовых операций используйте кэширующие реакции LoadChatAdministrators (работает с данными из базы бота, без лимитов).

🔗 Связанные реакции

Реакция Назначение
GetChatMember Получить информацию об одном участнике
LoadChatAdministrators Загрузить администраторов из базы бота (кэш)
PromoteChatMember Назначить администратора
GetChat Получить информацию о чате

🔗 Связанные разделы

Раздел Описание
Обработчики «Вход/выход» Отслеживание назначения администраторов
Макрос list Работа с массивом администраторов

🔗 Ссылка на официальную документацию

getChatAdministrators — Telegram Bot API

© 2025 EnotPRO. Все права защищены.