¿Qué son los bots de Telegram?
Antes de actuar e crear un bot en Telegram, es bueno aclarar en detalle qué son los bots de Telegram y por qué tienen tanto éxito. En términos generales, un bot no es más que un "usuario" de Telegram no humano, que consta principalmente de líneas de código cargadas en un plataforma de microservicios, capaz de realizar acciones (a veces incluso complejas) de forma completamente automática, recibiendo solicitudes en el formulario HTTP los comandos dados por el usuario a través del chat de Telegram.
Principalmente, existen dos tipos de bots de Telegram: el bot independiente, el que tiene una ventana de chat autónoma en la que emitir comandos, y el bot en línea, el que se puede llamar desde otras ventanas de chat (individual o grupal) usando el comando @botname. Cada bot de Telegram está identificado de forma única por un ficha- Una secuencia de números y letras que utilizan las aplicaciones web y las API para hacer referencia al bot en sí.
Para aclarar sus ideas, quiero darle un ejemplo práctico: en condiciones normales, rastrear un paquete en tránsito en un mensajero significa conectarse al sitio web del mensajero, ingresar el número de rastreo en el cuadro propuesto, completar los campos necesarios y consultar, in situ., el estado del paquete. Para obtener actualizaciones de estado, en la mayoría de los casos, se debe tener cuidado de regresar al sitio y repetir el procedimiento.
Con TrackBot, uno de los mejores bots independientes para Telegram, la música cambia: es un bot creado por cuatro programadores en tu idiomanos, que te permite rastrear un envío a partir de su código de seguimiento y recibir actualizaciones de estado de forma completamente automática. Para usarlo, simplemente búsquelo en Telegram y emita los comandos necesarios (ilustrados por el propio bot) para agregar el número de seguimiento del paquete, después de lo cual el bot interactúa con el servicio de Internet del mensajero (por ejemplo, GLS) y, de forma completamente automática, envía a mensaje de chat al usuario cuando el paquete cambia de estado (por ejemplo, en tránsito, en entrega o entregado).
En cuanto a los bots en línea, Puedo darte el ejemplo de @gif: escribiendo el comando @gif palabra_clave dentro de una ventana de chat, se propondrán los GIF animados correspondientes a la palabra clave ingresada, tomados directamente del portal Giphy y listo para ser enviado en chats. TrackBot y Giphy son solo dos ejemplos de lo que los bots de Telegram son capaces de hacer: puedes encontrar una lista de bots útiles por si acaso en mi guía detallada sobre los mejores bots de Telegram.
Volviendo a nosotros, el funcionamiento básico de un bot de Telegram sigue el patrón que ilustre a continuación.
- El bot se agrega a través del área de búsqueda de Telegram (independiente) o se invoca dentro de un chat existente (en línea).
- Después de iniciarlo, el usuario escribe un comando en la ventana de chat (independiente) o después de la cadena @botname (en línea).
- El comando tecleado se envía a la plataforma de microservicios, que se encarga de interpretarlo, ejecutarlo y generar la respuesta HTTP.
- Telegram recibe la respuesta HTTP y su bot la "escribe" en la ventana de chat.
Creando un bot en Telegram
Ahora que tiene los conceptos básicos de los bots de Telegram, apuesto a que no puede esperar para crear los suyos propios. Comenzaré por decirles que la creación de un bot "vacío" es extremadamente simple: la parte un poco más complicada, la que requiere pistas de programación, se refiere en cambio a lo que concierne al comportamiento del bot, que es la capacidad de recibir y ejecutar comandos dados por el usuario.
Como ya mencioné, esto se hace a través de solicitudes. HTTP que actúan como un "canal de comunicación" entre Telegram y el espacio Web que contiene la aplicación asociada: esta última, de hecho, procesa los comandos y envía las respuestas al chat de Telegram correspondiente al bot (a su vez formado por métodos y donde se pueden explotar API de servicios de terceros).
¿Cómo se dice? ¿Has entendido cómo funciona un bot, pero no tienes la menor idea de qué hacer? No te preocupes, a continuación te doy las instrucciones para crear tu primer bot de Telegram que simplemente “repite” lo que está escrito en su ventana de chat.
Para empezar, debe crear un nuevo bot "vacío" usando BotPadre, el bot de Telegram "papá" de todos los demás bots: comience Telegram, presiona lupa ubicado en la parte superior de la ventana, escriba la palabra Botfather dentro del cuadro de texto y presiona sobre el primer resultado recibido, el marcado con una pequeña marca de verificación azul (que identifica a los bots oficiales). Alternativamente, si desea hacer esto primero, haga clic aquí y acepte abrir el bot en Telegram. Una vez hecho esto, presione el botón Comienzo ubicado en la ventana de chat, luego escriba el comando / newbot seguito da Envío, en el cuadro de texto, para iniciar el procedimiento de creación.
En este punto, BotFather te hará una serie de preguntas sobre la configuración inicial de tu bot: Primero, elige un nombre (por ejemplo. Eco Bot), escríbalo en el cuadro de texto y presione Envío, luego elija un nombre de usuario (recordando que necesariamente debe terminar con la palabra botpor ejemplo repetir_bot) y todavía presiona Envío. Esto creará un bot, que por el momento no hará nada pero te proporcionará un ficha a través del cual luego puede ponerlo en funcionamiento: luego anote el token y guárdelo con cuidado, sin revelarlo a nadie (ya que cualquiera que posea ese código podrá controlar el bot). Siguiendo un procedimiento similar, puede usar comandos / setdescription, / setabouttext e / setuserpic para establecer uno, respectivamente descripción del bot, un poco texto introductorio y un avatar personal.
Una vez hecho esto, necesita un espacio web dedicado a las instrucciones (en esta guía usaremos el idioma Python) para ser entregado a tu bot: esta vez he elegido Hook.io, una plataforma capaz de alojar microservicios (es decir, pequeños fragmentos de código que realizan operaciones), utilizables con precios a partir de $ 2 / mes (la cuenta básica tiene un límite de 1000 solicitudes mensuales, más información aquí). Lo primero que tienes que hacer, por lo tanto, es conectarte a esta página de Internet, ingresa tu dirección de correo electrónico en el cuadro Correo Electrónico colocado en la caja Desarrolladores nuevos ee presiona el botón Crear una nueva cuenta.
En este punto, complete la siguiente pantalla con la información solicitada (nombre de cuenta y contraseña) y, cuando se le solicite, ingrese la información relacionada con su tarjeta de crédito. Finalmente, presione el botón Registrar nombre de cuenta y anote la dirección web de su cuenta que aparece en el lado derecho de la pantalla (https://hook.io/tuonomeaccount), ya que lo necesitará más adelante.
Una vez que se complete la fase de creación de la cuenta, volverá a la página de administración de servicios: para comenzar, memorice el ficha recibido previamente de BotFather, para que se pueda recuperar simplemente invocando una variable dentro del código (sin tener que reescribirlo cada vez). Luego haga clic en el icono marcado con tres palancas de control presente en el panel de botones de servicio (el segundo desde la izquierda), ingrese en el campo Clave el nombre de la variable (p. ej. token_repeat), pegar en el campo valor il ficha generado por BotFather y presiona el botón Guardar variables de entorno de cuenta.
Una vez hecho esto, ha llegado el momento de crear el servicio real que hará que el bot de Telegram funcione: haga clic en el elemento Crear nuevo servicio ubicado en la barra en la parte superior, ingrese el nombre que desea darle a su servicio (ej. repetir-bot) y presiona el botón Guardar y continuar. En la siguiente ventana, configure el elemento Python en el menú desplegable Corrección del lenguaje. , borre todo lo escrito en el cuadro de texto un poco más abajo y pegue la parte del código que le permite al bot "repetir" los mensajes recibidos, como se escribe a continuación.
solicitudes de importación
testoOriginale = Hook ['params'] ['mensaje'] ['texto']
idChat = Hook ['params'] ['mensaje'] ['chat'] ['id']
URL = 'https: //api.telegram.org/bot' + Hook ['env'] ['token_repeat'] +' / sendMessage '
req = request.get (URL, verify = False, data = {'chat_id': idChat, 'text': testoOriginale})
Recuerde reemplazar un token_repeat el nombre de la variable de entorno establecida anteriormente. Una vez completada la inserción, presione el botón Guardar código y espere la notificación de confirmación. Para aclarar mejor sus ideas, explicaré a continuación qué hacen las instrucciones en el código.
- solicitudes de importación - se utiliza para "importar" la biblioteca al programa solicitudes de la API de Python de Telegram, para que pueda aprovechar sus métodos.
- testoOriginale = […] - este comando registra el texto recibido del chat de Telegram en una variable.
- idChat = […] - este es el comando que guarda el identificador de chat de Telegram (para comprender con precisión a qué chat enviar el mensaje).
- URL = […] - es el comando que, de hecho, envía el mensaje con la solicitud HTTP del bot al microservicio en Hook.
- req = […] - este es el comando que "ensambla" la respuesta recibida y la reproduce en el chat de Telegram.
Una vez ingresado el código, debes invocar el microservicio por primera vez, para "decirle" a Telegram que todas las instrucciones recibidas en el chat del bot deben ser "secuestradas" en el microservicio recién solicitado: para hacerlo ingresa la barra de direcciones del navegador a su disposición comando https://api.telegram.org/botToken/setWebhook?url=https://hook.io/tuonomeaccount/nomehook que, en este ejemplo, cambia a https://api.telegram.org/botabcd-1234-token/setWebhook?url=https://hook.io/jessica_689/ripeti-bot. Si todo salió bien, se muestra una respuesta similar a en el navegador. {"Ok": true, "result": true, "description": "Webhook was set"}: esto significa que tu bot está funcionando y que, a partir de ahora, ¡puedes usarlo!
Todo lo que tienes que hacer es llamar al bot desde Telegram, presionar el botón Comienzo y escribe en la ventana de chat todo lo que quieres que repita tu bot: puedes probar lo que hemos construido juntos haciendo clic en este enlace.
Te advierto que, dada la extrema sencillez del bot, este podría comportarse de forma "inesperada" y repetir indefinidamente todo lo que escribas en la ventana de chat: si esto sucede, vuelve a la lista de chat, mantén pulsado el chat de el bot (o haga clic derecho, si está usando Telegram para computadora o Telegram Web) y seleccione Detener bots / Detener y bloquear bots del panel propuesto.
Para mayor información
Apuesto a que, gracias a mis consejos, lograste crear tu primer bot en Telegram y estás deseando aprender a crear otros, incluso más complejos: como ya te expliqué, lo que hemos visto hasta ahora. no es más que un ejemplo de las funciones básicas de crear y desarrollar un bot, pero puedo garantizarles que las posibilidades de desarrollo son realmente ilimitadas.
Solo para darte un ejemplo, puedes usarlos, además de los Python, incluso idiomas Node.js, Java e PHP, es posible hacer que su bot interactúe con algunos servicios web conocidos (incluidos YouTube e gmail), puede escribir código para interactuar con blogs y sitios web utilizando API proporcionado por el servicio en uso (p. ej. WordPress o Blogger), puede crear fácilmente un bot en línea y mucho, mucho más.
A continuación se muestra una lista de sitios de Internet útiles para obtener más información sobre la creación de bots en Telegram.
- Guía de bots de Telegram: en esta página encontrará toda la información básica para ingresar al mundo de los bots, incluidas instrucciones detalladas sobre cómo usar BotFather (generar un nuevo token de acceso, eliminar un bot, crear un bot en línea, etc.).
- API de bot de Telegram: es el recurso principal para administrar métodos relacionados con el análisis (o interpretación) de los datos incluidos en las solicitudes y respuestas HTTP.
- Ejemplos de código: aquí puede encontrar ejemplos de bots que funcionan, en diferentes lenguajes de programación y scripting.
- Heroku: otra buena plataforma para crear e iniciar microservicios en numerosos lenguajes de programación.
- Documentación oficial de Python: para aprender a programar en Python.
- Documentación de Node.js: todo lo que necesita saber sobre esta biblioteca de JavaScript.
- Manual de PHP: para aprender a programar en PHP.