EnotPRO Logo EnotPRO

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: Получение численности из кэша

Задача: Быстро узнать, сколько человек в группе.

Реакции:

  1. LoadChatMemberCountchat.id: ${chat.id}
  2. SendMessage → текст: В этой группе ${load} участников (данные из кэша)

Пример 2: Условное действие без нагрузки на API

Задача: Если в группе больше 100 человек, отправлять предупреждение (проверять каждый час без лишних запросов).

Реакции (в расписании):

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

Пример 3: Комбинирование с актуальной проверкой

Задача: Сначала быстро проверить кэш, если данных нет — запросить из API.

Реакции:

  1. LoadChatMemberCountchat.id: ${chat.id}
  2. TriggerFolder с условием: Has${load} (если данных нет — условие не выполнится)
  • Внутри: использовать ${load}
  1. (Если данных нет) GetChatMemberCountchat.id: ${chat.id}
  • Внутри: использовать ${response.result}

📊 Когда данные появляются в кэше

Данные о численности чата появляются в базе бота после:

Событие Описание
Первое взаимодействие Бот впервые видит чат (сообщение, добавление)
Периодическое обновление Платформа периодически обновляет кэш
Вызов GetChatMemberCount После запроса к API данные сохраняются в кэш

💡 Совет: Если LoadChatMemberCount возвращает пустое значение, сначала вызовите GetChatMemberCount для заполнения кэша.

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

Реакция Назначение
GetChatMemberCount Получить актуальную численность из API
LoadChat Загрузить информацию о чате из кэша
LoadChatAdministrators Загрузить администраторов из кэша

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

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

🔗 Быстрая навигация

  • Вверх
  • Параметры
  • Результат
  • Сравнение с GetChatMemberCount
  • Примеры
  • Когда данные появляются в кэше

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

  • GetChatMemberCount — получение актуальной численности из Telegram API
© 2025 EnotPRO. Все права защищены.