Cómo saber el chat ID de Telegram de un usuario, grupo o canal
Envía /start a @userinfobot para ver tu propio ID, reenvíale una publicación de un canal para ver el ID del canal o añade @GetIDsBot a un grupo. Los ID de usuario son positivos, los de supergrupos y canales empiezan por -100, y el chat ID no es secreto, a diferencia del token del bot.
Para saber tu propio chat ID, envía /start a User Info Bot (@userinfobot). Si le reenvías una publicación de un canal, te dará el ID del canal, y para el ID de un grupo añade GetIDs Bot (@GetIDsBot) al grupo. Si ya tienes el token de tu propio bot, escríbele, abre la dirección de getUpdates en el navegador y lee chat.id. Los ID de usuario son números positivos, y los de supergrupos y canales empiezan por -100. El chat ID no es secreto; el token del bot sí.
¿Qué chat ID te está pidiendo el servicio?
n8n, un script de monitoreo o tu propio bot envían mensajes a través de la Bot API de Telegram, y su método sendMessage pide un chat_id: el número del chat o el @username de un canal, supergrupo o bot públicos. La forma del número indica a qué tipo de chat apunta. La documentación de Telegram sobre los ID de diálogo de la Bot API define los rangos:
| Chat | Cómo es el chat_id | Ejemplo |
|---|---|---|
| Una persona (su chat privado con el bot) | Número positivo, igual a su ID de usuario | 123456789 |
| Grupo básico | Número negativo sin -100 | -987654321 |
| Supergrupo | -100 seguido del número propio del grupo | -1001234567890 |
| Canal | -100 seguido del número propio del canal | -1001987654321 |
| Tema en un grupo con temas | El ID del grupo más un message_thread_id aparte |
-1001234567890 y 42 |
| Canal o supergrupo público | El número o el @username | @channelname |
Hay tres detalles en los que casi todo el mundo tropieza:
- El número es largo. Telegram advierte que un chat ID puede superar los 32 bits y que algunos lenguajes de programación lo estropean sin avisar. Un entero de 64 bits con signo, un double o una cadena de texto son seguros.
- Un chat privado tiene el ID de la persona. Cuando un servicio te escribe a través de un bot, el
chat_ides simplemente tu ID de usuario. - Un grupo puede cambiar de ID. Cuando un grupo básico se convierte en supergrupo, recibe un ID nuevo con -100, y los mensajes al antiguo fallan.
El -100 no es un adorno. Telegram pasa el número interno de un canal al formato de la Bot API sumándole 1.000.000.000.000 y volviéndolo negativo, por eso un número copiado sin ese prefijo no funciona tal cual.
¿Cómo saber mi ID de Telegram?
Necesitas tu propio ID cuando un servicio debe escribirte por privado: una alerta del servidor, un pedido nuevo, una copia de seguridad que falló.
- Abre User Info Bot (@userinfobot) y toca Iniciar.
- El bot responde con los datos de tu cuenta. Copia el número que aparece junto a tu ID.
- Abre el bot que usará el servicio y toca Iniciar también ahí.
Casi todos los tutoriales se saltan el tercer paso. Los bots no pueden iniciar conversaciones con los usuarios: la persona tiene que escribirle primero al bot, y mientras no lo hagas, el servicio no podrá contactarte aunque tenga tu ID correcto.
GetIDs Bot (@GetIDsBot) da la misma respuesta a /start. Los dos bots son gratuitos y no muestran publicidad.
El ID de otra persona, por ejemplo el de un compañero que quieres en la lista blanca de tu bot, se obtiene igual: reenvía uno de sus mensajes a User Info Bot y verás el ID del remitente. Si esa persona eligió Nadie en Ajustes > Privacidad y seguridad > Mensajes reenviados, el mensaje reenviado solo lleva su nombre y ningún bot puede ver la cuenta. Pídele que toque Iniciar en User Info Bot y te pase el número.
¿Cómo saber el ID de un grupo de Telegram?
Con un bot
- Añade GetIDs Bot (@GetIDsBot) al grupo como a cualquier miembro. Si nunca lo has hecho, aquí se explica cómo agregar un bot a un grupo de Telegram.
- En cuanto entra, el bot te da el ID del grupo. Cópialo con el signo menos incluido.
- Saca el bot del grupo si no va a hacer nada más allí.
Telegram Bot Raw (@RawDataBot) es la opción que sugiere la documentación de n8n: invítalo al grupo y responde con el JSON en bruto de la actualización, donde el id dentro de chat es el ID del grupo.
En Telegram Web
- Abre la versión WebA de Telegram en web.telegram.org/a/ e inicia sesión.
- Abre el grupo.
- Mira la barra de direcciones. Todo lo que va después de
#es el chat ID, por ejemploweb.telegram.org/a/#-1001234567890.
WebA arma esa dirección con los mismos ID que usa la Bot API, así que el signo menos y el -100 ya vienen puestos. Si un tutorial te dice que copies los dígitos que siguen a la letra «g» y les añadas un menos, describe una interfaz web antigua. En un grupo con temas, la dirección de un tema abierto termina con un guion bajo y el ID del tema: #-1001234567890_42.
En Telegram Desktop
Telegram Desktop para Windows, macOS y Linux (no la app independiente Telegram para macOS) puede mostrar los ID en los perfiles:
- Abre Ajustes > Avanzados > Ajustes experimentales.
- Activa Show Peer IDs in Profile. Esta opción aparece en inglés sea cual sea el idioma de la app.
- Abre el perfil del grupo. Debajo de la descripción verás
id:y un número; haz clic en el número para copiarlo.
Desktop muestra el número interno de Telegram sin el signo ni el prefijo de la Bot API: antepón -100 si es un supergrupo o un canal, o un signo menos si es un grupo básico. Si no sabes qué tipo de grupo tienes, toma el ID de WebA o de un bot, donde ya viene listo para usar. El propio Telegram avisa de que los ajustes experimentales pueden fallar o desaparecer en una próxima versión.
¿Cómo saber el ID de un canal de Telegram?
Un canal público muchas veces no necesita número, porque la Bot API acepta su @username como chat_id. Un canal privado no tiene username, así que te hace falta el ID:
- Abre el canal y elige Reenviar en cualquier publicación.
- Envíala a User Info Bot (@userinfobot) o a GetIDs Bot (@GetIDsBot).
- La respuesta incluye el ID del canal.
JsonBOT (@JsonBot) responde a un mensaje reenviado con todos los datos en bruto que Telegram le adjunta, identificadores incluidos. Sirve si quieres ver la estructura completa.
Si el canal tiene activado Restringir guardar contenido, sus publicaciones no se pueden reenviar. Quedan dos caminos:
- El enlace de una publicación. Toca Copiar enlace en la publicación (Enlace al post en Telegram Desktop). El enlace de un canal privado se ve así:
t.me/c/1987654321/15. El primer número es el canal y el segundo, la publicación. Antepón -100 al número del canal y obtendrás-1001987654321. Los supergrupos privados usan el mismo tipo de enlace (Enlace al mensaje en Desktop). - WebA. Abre el canal en web.telegram.org/a/ y lee la barra de direcciones, igual que con un grupo.
Saber el ID es la mitad del trabajo. El bot que va a publicar también tiene que estar en el canal, y Telegram solo permite añadir bots a los canales como administradores.
¿Cómo obtener el chat ID con mi propio bot?
Si ya tienes el token (si no, aquí está cómo crear un bot y conseguir su token), Telegram te dice el ID de cualquier chat directamente, sin bots de terceros:
- Haz que a tu bot le llegue un mensaje de ese chat. En un chat privado, toca Iniciar. En un grupo, añade el bot y envía un comando dirigido a él, como
/start@YourBot. En un canal, añade el bot como administrador y publica algo. - En el navegador, abre
https://api.telegram.org/bot<token>/getUpdatesy reemplaza<token>por el token de tu bot. - Busca
"chat"en la respuesta. Suides el chat ID con el signo y el prefijo incluidos, ytypeindica si esprivate,group,supergroupochannel.
"chat": {
"id": -1001234567890,
"title": "Alertas del servidor",
"type": "supergroup"
}
Unas pocas reglas de la documentación de getUpdates explican casi todas las respuestas vacías o con error:
- Modo de privacidad. Por defecto, un bot en un grupo ve sobre todo los comandos dirigidos a él, las respuestas a sus mensajes y los mensajes de servicio, como el que anuncia su llegada. Un bot administrador lo ve todo. La conversación normal no le llega a un bot corriente, por eso el paso 1 usa un comando.
- 24 horas. Telegram guarda las actualizaciones no entregadas como mucho un día. Si la lista sale vacía, escríbele de nuevo al bot y recarga la página.
- Webhooks. getUpdates no funciona mientras el bot tenga un webhook, y un Telegram Trigger de n8n configura uno. En ese caso Telegram responde con un error
Conflict. Toma el chat ID de la salida del trigger, que según la documentación de n8n lo incluye, o usa uno de los bots de arriba. - Temas. Un mensaje enviado en un tema trae además
message_thread_id. Pásalo junto conchat_idpara publicar en ese tema.
La dirección del paso 2 contiene tu token, y el token es la llave de tu bot. No pegues ese enlace en chats, capturas de pantalla ni documentos compartidos, y si se filtra, genera un token nuevo en @BotFather.
¿Qué hago si el chat ID no funciona?
Cuando una petición falla, la Bot API responde con una breve descripción del error en inglés. Las más habituales:
- «chat not found». Compara el formato con la tabla: un supergrupo o un canal necesita el -100, y un grupo básico, su signo menos. Comprueba también que el token sea del bot que de verdad está en ese chat.
- «bot is not a member of the channel chat» (o «supergroup chat»). Añade el bot al chat, y a un canal, como administrador.
- «bot can't initiate conversation with a user». La persona todavía no tocó Iniciar en tu bot.
- «group chat was upgraded to a supergroup chat». El grupo tiene ahora un ID nuevo con -100, y Telegram lo incluye en el mismo error como
migrate_to_chat_id. Cambia el ID antiguo en tu configuración. Las apps de Telegram convierten un grupo básico por su cuenta cuando un administrador usa algo que solo tienen los supergrupos, como un enlace público o los temas. - El bot no muestra ningún ID al reenviar un mensaje. El remitente oculta su cuenta con el ajuste de privacidad Mensajes reenviados. Pídele que abra el bot él mismo.
- El mensaje cae en el tema general en lugar del correcto. Añade
message_thread_idcon el ID del tema. - El ID llega estropeado a tu código. Un número negativo de 13 dígitos desborda un entero de 32 bits. Guárdalo como entero de 64 bits o como texto.
¿Y ahora qué?
Si buscas otras herramientas para trabajar con bots, como formateadores de JSON o codificadores Base64, compáralas en el ranking de herramientas para desarrolladores. Y si todavía estás configurando el bot, BotFather vs User Info Bot explica cuál de los dos necesitas en cada paso.



