GetChatMemberCount
GetChatMemberCount — получает количество участников чата или канала.
📝 Назначение
Используется для получения актуальной численности чата/канала.
Когда это нужно:
- Проверить, сколько человек в группе
- Статистика активности
- Мониторинг роста/снижения аудитории
- Условия для автоматических действий (например, если в группе > 100 человек)
💡 Совет: Для получения численности из кэша (без запроса к API) используйте реакцию LoadChatMemberCount.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat.id | Integer/String | ✅ Да | ID чата/канала или @username (для публичных) |
📍 Результат
После выполнения реакции результат доступен в переменной:
${response
Тип значения: Integer (целое число) — количество участников чата/канала.
🔐 Требуемые права бота
| Тип чата | Требуемые права |
|---|---|
| Публичная группа/канал | Не требуются (численность доступна всегда) |
| Приватная группа/канал | Бот должен быть участником чата |
🧪 Примеры использования
Пример 1: Получение численности текущего чата
Задача: Узнать, сколько человек в группе, откуда пришло сообщение.
Реакции:
GetChatMemberCount→chat.id:${chat.id}SendMessage→ текст:В этой группе ${response.result} участников
Пример 2: Условное действие при достижении лимита
Задача: Если в группе больше 100 человек, отправить предупреждение.
Реакции:
GetChatMemberCount→chat.id:${chat.id}TriggerFolderс условием:Number→${response.result}>100
- Внутри:
SendMessage→Внимание! В группе более 100 участников.
Пример 3: Получение численности по username
Задача: Узнать количество подписчиков публичного канала.
Реакции:
GetChatMemberCount→chat.id:@durovSendMessage→ текст:В канале ${response.result} подписчиков
Пример 4: Сравнение с предыдущим значением
Задача: Отслеживать изменение численности (требуется сохранение предыдущего значения).
Реакции:
GetChatMemberCount→chat.id:${chat.id}GetVarCloud→ загрузить предыдущее значениеprev_countTriggerFolderс условием: сравнение${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 | Получить информацию об участнике |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Чаты/Каналы в админке | Управление чатами через интерфейс |