Cómo enviar un mensaje a un chat de Telegram usando Python como lenguaje de programación. En este ejemplo usaremos las librerías Telebot y Telethon de Python. Comprobaremos si tenemos autorización para enviar mensajes y pediremos el código de autorización si no la tenemos. Enviaremos un mensaje usando tanto el nombre de usuario de Telegram como el ID de chat.

Requisitos para enviar mensaje a chat de Telegram desde programa Python

Tener instalado Python en el equipo

En primer lugar necesitaremos tener instalado Python en el equipo. En el siguiente artículo explicamos cómo hacerlo:

Alta de App en Telegram con nuestro usuario para obtener api_id y api_hash

En segundo lugar, necesitaremos registrar la App en Telegram. Será ésta la que usemos para el envío de los mensajes y, por lo tanto, debe tener autorización (para evitar el spam).

Para dar de alta la App en nuestro usuario de Telegram, accederemos a la URL oficial de Telegram:

Introduciremos nuestro número de teléfono (con formato internacional. Por ejemplo, para un teléfono de España, sería +34666555444:

Alta de App en Telegram con nuestro usuario para obtener api_id y api_hash

Telegram nos enviará un código de verificación al chat «Telegram» de nuestra cuenta:

Alta de App en Telegram con nuestro usuario para obtener api_id y api_hash

Introduciremos este código en «Confirmation code» y pulsaremos «Sign In»:

Alta de App en Telegram con nuestro usuario para obtener api_id y api_hash

Si ya tenemos una App dada de alta, nos mostrará el App api_id y el App api_hash de nuestra cuenta. Anotaremos estos datos pues los necesitaremos para enviar mensajes:

Alta de App en Telegram con nuestro usuario para obtener api_id y api_hash

En caso de no tener App, nos mostrará directamente la página de creación de una nueva aplicación (application). Rellenaremos los datos y pulsaremos «Create application»:

Alta de App en Telegram con nuestro usuario para obtener api_id y api_hash

Una vez creada nos mostrará, como hemos indicado anteriormente, el App api_id y el App api_hash de nuestra aplicación Telegram. Anotaremos estos datos que necesitaremos en el código Python para envío de mensajes.

Instalar librerías necesarias para enviar mensajes a chat de Telegram desde Python

Necesitaremos las librerías telebot y telethon, que deberemos instalar previamente. En el caso de un equipo Windows, lo podremos hacer abriendo una ventana de MS-DOS (símbolo de sistema). Para instalar telebot ejecutaremos el comando:

pip install telebot

Instalar librerías necesarias para enviar mensajes a chat de Telegram desde Python

Y para instalar telethon ejecutaremos el comando:

pip install telethon

Instalar librerías necesarias para enviar mensajes a chat de Telegram desde Python

De esta forma tendremos disponibles estas dos librerías que contienen los métodos para la conexión con Telegram y el envío de mensajes, entre otras muchas cosas.

Bot de Telegram

Necesitaremos disponer de un Bot de Telegram, que será al que le enviemos los mensajes. En el siguiente artículo explicamos cómo crear un bot de Telegram y cómo obtener su token. Necesitaremos este token para la validación de nuestro programa de envío de mensajes a chat de Telegram:

Anotaremos el token de seguridad del Bot de Telegram creado, que necesitaremos a continuación en el código de nuestra aplicación Python.

Obtener ID de Chat de Telegram y nombre de usuario de Telegram

Para enviar los mensajes necesitaremos o bien el nombre de usuario de Telegram o bien el ID de chat con el Bot. Cualquiera de los dos datos será suficiente. Para obtener nuestro nombre de usuario de Telegram podremos verlo en el perfil:

Bot de Telegram

Y para obtener el ID de Chat de Telegram con el bot, podremos hacerlo de varias formas. La forma más sencilla es obteniendo el token de nuestro bot, que ya lo tendremos obtenido como hemos indicado anteriormente. Enviaremos un mensaje a nuestro bot:

Y accederemos a la URL siguiente:

https://api.telegram.org/botXXXXX:YYYYYY/getUpdates

Cambiando XXXXX:YYYYYY por el token de nuestro bot.

Nos mostrará el mensaje enviado y sus datos en formato JSON, entre ellos el ID de chat:

Bot de Telegram

Otra forma de obtener el ID de Chat, más complicada, es mediante código, por ejemplo usando C#:

Y una tercera forma de obtener el ID de chat es mediante un bot de terceros, pero esto no lo recomendamos. El mejor método es mediante la URL como hemos indicado anteriormente.

Aplicación Python que envía un mensaje a un chat de Telegram

A continuación mostramos el código fuente en Python para enviar un mensaje a un chat de Telegram. El código fuente está comentado y explicado. Incluimos dos métodos, uno para enviar un mensaje a un chat usando el nombre del usuario de Telegram, y otro para enviar un mensaje a un chat a través de su ID.

La primera vez que ejecutemos la aplicación, por seguridad, Telegram generará un Código de inicio de sesión, que nos enviará al chat de Telegram:

Aplicación Python que envía un mensaje a un chat de Telegram

La aplicación nos solicitará este código de inicio de sesión en la consola, lo introduciremos. Si es correcto Telegram detectará el inicio de sesión desde una App externa y nos los mostrará en su chat de Telegram:

Aplicación Python que envía un mensaje a un chat de Telegram

Si el código de inicio es correcto, realizará el envío de los mensajes al chat de Telegram:

Aplicación Python que envía un mensaje a un chat de Telegram

Nos habrán llegado dos mensajes al chat de del bot de nuestro Telegram:

Aplicación Python que envía un mensaje a un chat de Telegram