EnotPRO Logo EnotPRO

GetChatMemberCount

GetChatMemberCount — получает количество участников чата или канала.

📝 Назначение

Используется для получения актуальной численности чата/канала.

Когда это нужно:

  • Проверить, сколько человек в группе
  • Статистика активности
  • Мониторинг роста/снижения аудитории
  • Условия для автоматических действий (например, если в группе > 100 человек)

💡 Совет: Для получения численности из кэша (без запроса к API) используйте реакцию LoadChatMemberCount.

⚙️ Параметры

Параметр Тип Обязательный Описание
chat.id Integer/String ✅ Да ID чата/канала или @username (для публичных)

📍 Результат

После выполнения реакции результат доступен в переменной:

${response

Тип значения: Integer (целое число) — количество участников чата/канала.

🔐 Требуемые права бота

Тип чата Требуемые права
Публичная группа/канал Не требуются (численность доступна всегда)
Приватная группа/канал Бот должен быть участником чата

🧪 Примеры использования

Пример 1: Получение численности текущего чата

Задача: Узнать, сколько человек в группе, откуда пришло сообщение.

Реакции:

  1. GetChatMemberCountchat.id: ${chat.id}
  2. SendMessage → текст: В этой группе ${response.result} участников

Пример 2: Условное действие при достижении лимита

Задача: Если в группе больше 100 человек, отправить предупреждение.

Реакции:

  1. GetChatMemberCountchat.id: ${chat.id}
  2. TriggerFolder с условием: Number${response.result} > 100
  • Внутри: SendMessageВнимание! В группе более 100 участников.

Пример 3: Получение численности по username

Задача: Узнать количество подписчиков публичного канала.

Реакции:

  1. GetChatMemberCountchat.id: @durov
  2. SendMessage → текст: В канале ${response.result} подписчиков

Пример 4: Сравнение с предыдущим значением

Задача: Отслеживать изменение численности (требуется сохранение предыдущего значения).

Реакции:

  1. GetChatMemberCountchat.id: ${chat.id}
  2. GetVarCloud → загрузить предыдущее значение prev_count
  3. TriggerFolder с условием: сравнение ${response.result} и ${var.person.prev_count}
  • Внутри: SendMessageИзменение: +${разница}

⚠️ Ограничения Telegram API

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

💡 Совет: Для частых проверок численности используйте LoadChatMemberCount — он работает с кэшированными данными и не имеет ограничений API.

🔄 Сравнение с LoadChatMemberCount

Характеристика GetChatMemberCount LoadChatMemberCount
Источник данных Telegram API (актуальные) База данных бота (кэш)
Требует прав админа Нет (но нужно быть в чате) Нет
Лимиты API ✅ Да (30 запросов/сек) ❌ Нет
Скорость Медленнее (запрос к API) Быстрее (из кэша)
Актуальность Абсолютная Может отставать

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

Реакция Назначение
LoadChatMemberCount Загрузить численность из кэша
GetChat Получить информацию о чате
GetChatMember Получить информацию об участнике

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

Раздел Описание
Чаты/Каналы в админке Управление чатами через интерфейс

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

getChatMemberCount — Telegram Bot API

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