EnotPRO Logo EnotPRO

BanBotUser

BanBotUser — блокирует пользователя в боте.

📝 Назначение

Используется для запрета доступа пользователя к боту. Заблокированный пользователь:

  • Не может отправлять команды и сообщения боту
  • Не может взаимодействовать с ботом (нажимать кнопки, проходить формы)
  • Бот игнорирует все события от этого пользователя

⚠️ Важно: В отличие от BanChatMember (блокировка в конкретном чате), BanBotUser блокирует пользователя глобально — во всех чатах и диалогах с ботом.

⚙️ Параметры

Параметр Тип Обязательный Описание
user_id Integer/String ✅ Да ID пользователя или @username для блокировки

📍 Результат

После выполнения реакции пользователь добавляется в чёрный список бота. Статус пользователя в разделе «Люди» меняется на 📵 Забанен.

🔄 Отличие от BanChatMember

Характеристика BanBotUser BanChatMember
Область действия Глобально (весь бот) Конкретный чат/канал
Требует прав админа ❌ Нет ✅ Да (can_restrict_members)
Влияет на все чаты ✅ Да ❌ Нет (только указанный чат)
Отображается в профиле ✅ Да (статус «Забанен») ❌ Нет

💡 Совет: Используйте BanBotUser для полной блокировки пользователя в боте. Используйте BanChatMember для модерации в конкретной группе.

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

Пример 1: Блокировка текущего пользователя

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

Обработчик: Команда /ban

Реакция BanBotUser:

  • user_id: ${user.id}

Пример 2: Блокировка по @username

Задача: Заблокировать пользователя по его username.

Параметры BanBotUser:

  • user_id: @spammer

Пример 3: Блокировка после нарушения

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

Обработчик: Регулярное выражение спам|реклама

Реакции:

  1. BanBotUseruser_id: ${user.id}
  2. SendMessage → текст: Вы заблокированы за нарушение правил.

Пример 4: Блокировка через административное меню

Задача: Администратор выбирает пользователя из списка и блокирует.

Реакция BanBotUser:

  • user_id: ${menu.args1.1} (ID из кнопки меню)

🔄 Особенности поведения

Ситуация Поведение
Пользователь уже забанен Повторная блокировка не вызывает ошибку
Пользователь не существует Реакция может не сработать или вызвать ошибку
Попытка заблокировать себя Невозможно (бот не может заблокировать администратора)
Попытка заблокировать владельца Невозможно

⚠️ Частые ошибки и их решение

Ошибка 1: Пользователь не блокируется

Причина: Указан неверный ID или username.

Решение: Убедитесь, что ID корректен. Используйте TakeUser для загрузки пользователя перед блокировкой.

Ошибка 2: Пользователь продолжает отправлять сообщения

Причина: Блокировка не была применена из-за ошибки в триггере.

Решение: Проверьте логи на наличие ошибок. Убедитесь, что реакция BanBotUser выполнена до других реакций.

Ошибка 3: Путаница с BanChatMember

Причина: Использован BanChatMember вместо BanBotUser или наоборот.

Решение: BanBotUser — для глобальной блокировки в боте. BanChatMember — для блокировки в конкретном чате.

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

Реакция Назначение
UnBanBotUser Разблокировать пользователя в боте
BanChatMember Заблокировать в чате
TakeUser Загрузить пользователя по ID

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

Раздел Описание
Люди — статусы пользователей Статус «Забанен» в профиле
Условие UserStatus Проверка статуса пользователя
© 2025 EnotPRO. Все права защищены.