Как боты работают в группах Telegram: privacy mode и права админа
Основы3 минРедакция Innovialabs
Коротко
По умолчанию бот в группе работает в privacy mode и видит только команды, ответы на свои сообщения и служебные события; чтобы получать все сообщения, отключите privacy mode в BotFather или сделайте бота администратором.
Что видит бот в группе по умолчанию
У каждого нового бота включён privacy mode (режим приватности). В группе такой бот получает не всю переписку, а только:
- команды, то есть сообщения, начинающиеся с
/(надёжнее всего — в виде/command@имя_бота); - ответы (reply) на сообщения самого бота;
- служебные сообщения: кто вступил, кто вышел, смена названия, закреплённые сообщения;
- сообщения, отправленные через этого бота в inline-режиме.
Обычные сообщения участников, не адресованные боту, до него не доходят. Это сделано для приватности: пользователи должны понимать, что бот не читает всё подряд.
Как получить все сообщения
Есть два способа:
- Отключить privacy mode в BotFather:
/mybots→ бот → Bot Settings → Group Privacy → Turn off. Или командой/setprivacy. - Сделать бота администратором группы. Бот-админ получает все сообщения независимо от privacy mode.
Важная деталь: после изменения privacy mode удалите бота из группы и добавьте снова. Иначе в уже существующих группах он продолжит работать со старой настройкой — это самая частая причина фразы «я отключил приватность, а бот всё равно ничего не видит».
Чего бот не увидит никогда
- Сообщения других ботов. Чтобы боты не зацикливались, переписывая друг другу, Telegram не доставляет ботам сообщения других ботов в группах.
- Историю до своего появления. Bot API не умеет загружать старую переписку: бот получает только то, что пришло после его добавления.
- Посты в канале, если он не админ. В каналах бот работает только как администратор и получает обновления
channel_post.
Права администратора: давайте минимум
Когда бот становится админом, ему выдаются отдельные права. Выдавайте только нужные задаче:
| Задача бота | Нужные права |
|---|---|
| Модерация спама | удаление сообщений, блокировка участников |
| Приветствие и капча для новых участников | ограничение участников |
| Закрепление объявлений | закрепление сообщений |
| Выдача ссылок-приглашений | приглашение пользователей |
| Работа с темами в форуме | управление темами |
Право назначать администраторов почти никогда не нужно: если токен бота утечёт, злоумышленник получит контроль над группой.
Частые ошибки настройки
- Не переподключили бота после смены privacy mode.
- Не запросили нужные обновления. События изменения участников (
chat_member) приходят только боту-админу и только если явно указать их вallowed_updatesприgetUpdatesилиsetWebhook. - Сохранили старый chat_id. Когда обычная группа превращается в супергруппу, её идентификатор меняется. В служебном сообщении приходит
migrate_to_chat_id— обновите его в базе. - Ожидают
fromу анонимного админа. Если администратор пишет анонимно, отправителем указан сам чат (sender_chat), а не человек. - Игнорируют темы форума. В группах с темами отвечайте в ту же ветку, передавая
message_thread_id. - Бота может добавить кто угодно. Если бот не рассчитан на группы, запретите это через
/setjoingroupsв BotFather.
Как выбрать режим
- Бот отвечает на команды (опросы, напоминания, справка) — оставьте privacy mode включённым.
- Бот-модератор или антиспам — сделайте его админом с минимальными правами.
- Бот анализирует всю переписку (поиск по ключевым словам, сбор заявок из чата) — отключите privacy mode и честно сообщите участникам, что бот читает сообщения.