LoadChatMemberCount
LoadChatMemberCount — загружает количество участников чата из базы данных бота (кэш).
📝 Назначение
В отличие от GetChatMemberCount, который обращается к Telegram API за актуальными данными, LoadChatMemberCount загружает численность чата из собственной базы данных бота (кэш). Это быстрее, не тратит лимиты API и не требует прав администратора.
Когда это нужно:
- Быстрое получение численности чата
- Когда не требуется абсолютная актуальность данных
- При частых проверках (например, каждые 5 минут)
- Когда бот не является администратором чата
💡 Совет: Используйте
LoadChatMemberCountдля быстрых операций, где допустима небольшая задержка в актуальности данных. Для получения точной численности в реальном времени используйтеGetChatMemberCount.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat.id | Integer/String | ✅ Да | ID чата/канала, численность которого нужно загрузить |
📍 Результат
После выполнения реакции результат доступен в переменной:
${load}
Тип значения: Integer (целое число) — количество участников чата/канала.
Пример значения: 42
🔄 Сравнение с GetChatMemberCount
| Характеристика | LoadChatMemberCount | GetChatMemberCount |
|---|---|---|
| Источник данных | База данных бота (кэш) | Telegram API (актуальные) |
| Скорость | Быстро (локальный кэш) | Медленнее (запрос к API) |
| Лимиты API | ❌ Нет | ✅ Да (30 запросов/сек) |
| Актуальность | Может отставать | Абсолютная |
| Требует прав админа | Нет (если данные есть в кэше) | Нет (но нужно быть в чате) |
| Требует быть в чате | Нет (если данные есть в кэше) | ✅ Да |
💡 Совет: Используйте
LoadChatMemberCountдля частых проверок (например, каждые 5 минут). Для получения точной численности в ответ на команду пользователя используйтеGetChatMemberCount.
🧪 Примеры использования
Пример 1: Получение численности из кэша
Задача: Быстро узнать, сколько человек в группе.
Реакции:
LoadChatMemberCount→chat.id:${chat.id}SendMessage→ текст:В этой группе ${load} участников (данные из кэша)
Пример 2: Условное действие без нагрузки на API
Задача: Если в группе больше 100 человек, отправлять предупреждение (проверять каждый час без лишних запросов).
Реакции (в расписании):
LoadChatMemberCount→chat.id:${chat.id}TriggerFolderс условием:Number→${load}>100
- Внутри:
SendMessage→Внимание! В группе более 100 участников.
Пример 3: Комбинирование с актуальной проверкой
Задача: Сначала быстро проверить кэш, если данных нет — запросить из API.
Реакции:
LoadChatMemberCount→chat.id:${chat.id}TriggerFolderс условием:Has→${load}(если данных нет — условие не выполнится)
- Внутри: использовать
${load}
- (Если данных нет)
GetChatMemberCount→chat.id:${chat.id}
- Внутри: использовать
${response.result}
📊 Когда данные появляются в кэше
Данные о численности чата появляются в базе бота после:
| Событие | Описание |
|---|---|
| Первое взаимодействие | Бот впервые видит чат (сообщение, добавление) |
| Периодическое обновление | Платформа периодически обновляет кэш |
| Вызов GetChatMemberCount | После запроса к API данные сохраняются в кэш |
💡 Совет: Если
LoadChatMemberCountвозвращает пустое значение, сначала вызовитеGetChatMemberCountдля заполнения кэша.
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| GetChatMemberCount | Получить актуальную численность из API |
| LoadChat | Загрузить информацию о чате из кэша |
| LoadChatAdministrators | Загрузить администраторов из кэша |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Чаты/Каналы в админке | Управление чатами через интерфейс |
🔗 Быстрая навигация
- Вверх
- Параметры
- Результат
- Сравнение с GetChatMemberCount
- Примеры
- Когда данные появляются в кэше
🔗 Связанные разделы
- GetChatMemberCount — получение актуальной численности из Telegram API