BotNetwork

¿Tu bot de Telegram no ve mensajes del grupo? Modo privacidad explicado

Un bot que funciona perfecto en privado y se queda callado en un grupo casi siempre está chocando con el modo privacidad. Es una función, no un error, y es fácil trabajar con ella.

Publicado 4 min de lectura

Qué hace el modo privacidad

Todo bot nuevo de Telegram empieza con el modo privacidad activado. En grupos, un bot en modo privacidad no recibe todos los mensajes. Según la documentación de Telegram recibe:

  • comandos dirigidos explícitamente a él, como /start@TuBot,
  • comandos generales como /start si fue el último bot que escribió en el grupo,
  • mensajes enviados a través del bot (modo inline),
  • respuestas a sus propios mensajes,
  • mensajes de servicio (miembros que entran o salen, mensajes fijados y similares).

Todo lo demás, como la conversación normal entre miembros, no se entrega. Esto protege la privacidad de los usuarios y evita que los bots procesen tráfico que no necesitan.

Cuándo está desactivado o no aplica

El bot recibe todos los mensajes del grupo si:

  • el modo privacidad está desactivado en @BotFather, o
  • el bot es administrador del grupo.

Los canales son distintos: un bot debe ser administrador del canal para recibir sus publicaciones.

Cómo cambiarlo

  1. Abre @BotFather y envía /setprivacy.
  2. Elige tu bot.
  3. Selecciona Disable para recibir todos los mensajes del grupo, o Enable para restaurar el modo privacidad.

Luego viene el paso que casi todos olvidan: saca el bot del grupo y vuelve a agregarlo. El ajuste se aplica al unirse, así que en un grupo donde el bot ya estaba se mantiene el comportamiento anterior.

Puedes revisar el estado actual con getMe: el campo can_read_all_group_messages es true cuando el modo privacidad está desactivado.

curl -s "https://api.telegram.org/bot$TOKEN/getMe"

¿Conviene desactivarlo?

Solo si la función principal del bot necesita leer mensajes normales: moderación, filtros antispam, disparadores por palabra clave, resúmenes de conversación. Para bots basados en comandos, déjalo activado:

  • menos updates que procesar, menos carga y menor costo de hosting,
  • menos datos personales en tus logs y almacenamiento,
  • los miembros confían más en un bot que no puede leerlo todo.

Si lo desactivas, dilo en la descripción del bot y en su política de privacidad. Nuestra guía legal y de privacidad explica qué informar.

Que los comandos funcionen bien en grupos

  • Registra comandos para grupos con setMyCommands y el scope all_group_chats, para que los miembros los vean en el menú. Arma la lista con nuestro constructor de listas de comandos.
  • Acepta tanto /cmd como /cmd@TuBot. Frameworks como grammY y python-telegram-bot lo hacen solos.
  • Responde citando el mensaje que lo activó (reply_parameters) para que quede claro a quién va la respuesta.
  • Usa teclados inline para opciones, y revisa quién pulsó el botón.

Otros problemas en grupos

Migración a supergrupo. Cuando un grupo básico se convierte en supergrupo, cambia su ID de chat. El bot recibe un mensaje con migrate_to_chat_id; actualiza los IDs guardados, o los envíos posteriores fallarán con un error de grupo actualizado.

Filtros del webhook. Si defines allowed_updates, asegúrate de que incluya los tipos que necesitas, como message y my_chat_member (para saber cuándo agregan o sacan al bot). Mira setWebhook de Telegram paso a paso.

No se puede agregar el bot. En @BotFather, /setjoingroups controla si el bot puede agregarse a grupos. Si está desactivado, no aparece la opción "Añadir a un grupo".

Límites de envío. El FAQ de bots de Telegram recomienda no pasar de unos 20 mensajes por minuto en un mismo grupo. Reparte las ráfagas; nuestro artículo sobre límites de tasa explica cómo.

Preguntas frecuentes

Desactivé el modo privacidad y el bot sigue sin ver mensajes. ¿Por qué?

El bot ya estaba en el grupo cuando cambiaste el ajuste. Sácalo y vuelve a agregarlo, o hazlo administrador.

¿Hacer administrador al bot le da acceso total?

Recibe todos los mensajes y obtiene los permisos de administrador que le des. Concede solo lo necesario, por ejemplo "Eliminar mensajes" para un bot de moderación.

¿Los usuarios pueden saber si un bot lee todos los mensajes?

Sí. En la lista de miembros del grupo, Telegram indica si un bot tiene acceso a los mensajes.

Fuentes