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: Блокировка после нарушения
Задача: Заблокировать пользователя, отправившего запрещённое слово.
Обработчик: Регулярное выражение спам|реклама
Реакции:
BanBotUser→user_id:${user.id}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 | Проверка статуса пользователя |