Enviar mensajes a un canal de Telegram automáticamente con un bot

Si tienes una audiencia a la que le guste recibir actualizaciones de tu sitio y utilizan Telegram, es posible hacerlo de forma automática, aquí describo de forma general lo que se requiere para ello:

  1. Crear el canal. Para ello se hace desde Telegram ya sea en el celular o desde web, como te sea más cómodo - https://telegram.org/faq_channels/es
  2. Crear un bot. - https://telegram.org/faq/es#p-cmo-creo-un-bot
  3. Añadir como administrador de tu canal a tu bot (básico).

En el segundo paso, al crear el bot nos genera un token, que será nuestra llave para cualquier petición. Se puede solicitar en cualquier momento un nuevo token o cancelarlo, al @BotFather. Una vez que tenemos la llave, que hemos añadido a nuestro bot como administrador del canal, enviamos el mensaje:

curl -s -X POST https://api.telegram.org/botTOKENDELBOT/sendMessage -d text="Soy un robotito que anda por la vida" -d chat_id=@NOMBRECANAL

donde TOKENDELBOT es la llave que mencionamos antes y @NOMBRECANAL es el canal creado. Listo, con eso enviamos el mensaje :-). ¡Eso es todo!, más fácil imposible. Actualización mayo 2017: Para ver los últimos mensajes que le han sido enviados (o ha leído) el bot (hay que tener el modo privado activado con @BotFather):

curl -s -X POST https://api.telegram.org/botTOKENDELBOT/getUpdates | python -m json.tool
#devolverá algo como:
{
    "ok": true,
    "result": [
        {
            "message": {
                "chat": {
                    "first_name": "Jorge",
                    "id": 93289893289238392,
                    "last_name": "M",
                    "type": "private",
                    "username": "toritoesinocente"
                },
                "date": 1494459488,
                "from": {
                    "first_name": "Jorge",
                    "id": 93289893289238392,
                    "last_name": "M",
                    "username": "toritoesinocente"
                },
                "message_id": 4,
                "text": "mensaje de prueba"
            },
            "update_id": 752218617321
        }
    ]
}
# lo importante es el chat_id 

Actualización agosto 2017: Si requieres obtener el chat_id de un usuario o de un canal, puedes reenviar el mensaje a tu bot, luego obtener las actualizaciones con el método getUpdates de arriba y en forward_from_chat.id estará el id (chat_id) del mensaje reenviado.

+ fotos / videos

Almacenado en Telegram, Bots

por Jorge Martínez Mauricio :)

blog / fotos / archivo

Enviar mensajes a un canal de Telegram automáticamente con un bot

tar.mx es un blog sobre fotografía, tecnología y otras chunches

modificado jueves 8 de julio de 2021, 11:19