Como crear un bot de Telegram
Los bots son programas (piezas de software) echas para automatizar la interaccion con los usuarios a travez de los chats. Vamos a crear un bot de telegram y enviaremos mensajes a un grupo de chat con nuestro bot.
Pasos a seguir:
- Pensar en un nombre para tu bot
- Crear nuestro bot y obtener el authorization token
- Crear un grupo de Telegram
- Enviar mensajes al grupo con nuestro bot
- Automatizando el envio de mensajes con nuestro bot
Requisitos:
- 15 minutos de tu tiempo
- Tener instalado Telegram en cualquiera de sus versiones: Desktop, Android, iPhone y iPad,
- Nociones basicas de Postman
- Ganas de aprender 🤓️
Pensar un nombre para nuestro bot
Existen algunas reglas que debemos considerar al elegir el nombre para nuestro bot, la primera regla es que no exista pero mas adelante lo verificaremos y la segunda es que el nombre termine en bot por ejemplo: VikossBot o vikoss_bot.
Crear nuestro bot en telegram
Lo primero que tendremos que hacer es hablar con BotFather asi que los presento:
BotFather es el bot que gobierna a todos. Entonces le pediremos que nos ayude a crear un nuevo bot y que nos genere nuestro authorization token.
Puedes abrir telegram y buscar a BotFather o puedes dar click aqui para ir directo al chat con el.
Es hora de conversar con BotFather nosotros le enviaremos el primer
mensaje
/start
.
Ahora le diremos que necesitamos crear un nuevo bot
/newbot
Es hora de mandar el nombre de nuestro bot y BotFather revisara que sea un nombre valido.
Felicidades en este punto ya tienes listo tu bot entonces puedes ir a buscarlo en telegram y personalizarlo ya sea agregando una descripcion, foto de perfil etc. Y es importante que guardes y no compartas tu authorization token.
Crear un grupo de telegram
Vamos a crear un grupo comun y corriente en telegram en el cual posteriormente agregaremos a nuestro bot quien mandara mensajes de acuerdo a nuestra conveniencia y por supuesto que cualquier otra persona.
Como comentamos antes podemos personalizar en este caso el grupo agregando descripcion, algunas fotos, etc
Enviar mensajes al grupo con nuestro bot
Primero para que alguien pueda mandar mensajes al grupo pues debe estar en el grupo 😁. Entonces agregaremos al grupo a nuestro bot, buscamos la opcion de agregar miembros y buscamos a nuestro bot por el nombre que le dimos comenzando por un @ por ejemplo: @VikossBot.
Debemos pensar que es un simple grupo de telegram con usuarios normales (humanos) y nuestro bot quien sera el que este enviando mensajes
Utilizaremos la API de Telegram y Postman para poder continuar.
Todas las solicitudes a la API de Telegram llevan esta estructura:
https://api.telegram.org/bot{token}/METHOD_NAME
donde tendremos que remplazar {token} por nuestro
authorization token
Realizaremos una peticion tipo GET con nuestro authorization token con el fin de encontart el chat_id de el grupo que hicimos para indicarle a nuestro bot que es a ese grupo al que tiene que enviar los mensajes
La solicitud que tenemos que hacer en esta ocacion sera de tipo GET y el
url sera el siguiente:
https://api.telegram.org/bot{token}/getUpdates
y no se te olvide cambiar el {token} por tu
authorization token
Si en el resultado no encuentras el chat_id entonces debes ir al grupo desde Telegram para remover y volver agregar al bot al grupo.
el valor que estamos buscando es el id
una vez que encontremos el chat_id podremos
continuar con la siguiente solicitud a la API de telegram Esta vez es de
tipo POST con la siguiente estructura
https://api.telegram.org/bot{token}/sendMessage
Dentro de Postman en la seccion de body seleccionamos
raw y tipo JSON y
para el payload agregaremos dos valores: el
mensaje que se quiere enviar y el
chat_id al que se enviara
Si seguiste todos los pasos entonces tendras tu primer mensaje de nuestro bot.
Vualá! Tu bot ya envia mensajes al grupo.
Automatizando el envio de mensajes con la API de Telegram
Para lograr automatizar el proceso tendriamos que estar ocupando cualquier lenguaje de programacion que soporte solicitudes con el protocolo HTTP que hoy en dia casi cualquiera por poner algunos ejemplos: PHP, Javascript, Python, Java etc.
Dejare un ejemplo(Codigo 😉) de la integracion con Javascript