Te has convertido en un usuario habitual de Telegram y, mientras lo exploras, te has encontrado con los famosos bots, esos chats "automáticos" que pueden satisfacer diversas necesidades de los usuarios (p. Ej., La búsqueda de un vídeo en YouTube o un GIF para enviar a amigos , seguimiento de envíos, etc.) sin salir de la aplicación. Fascinado por esta herramienta, has decidido crear algo como esto para simplificarte la vida, o sorprender a algunos de tus amigos, y estás buscando un método sencillo que pueda guiarte en los pasos iniciales de este emprendimiento.
¡Dicho y hecho! Sin duda te has encontrado con la guía adecuada: de hecho, a continuación te proporcionaré toda la información básica sobre cómo crear un bot en Telegram, Te mostraré en detalle cómo funcionan estas herramientas y cómo pueden comunicarse contigo a través de simples mensajes de chat. Te digo de inmediato que, para tener éxito en la empresa, necesitarás aprender algunas nociones básicas sobre programación y necesitarás una computadora que pueda facilitar tu trabajo de desarrollo.
¿Cómo se dice? ¿Ya tienes mucho miedo y estás pensando en tirar la toalla? ¡No te desanimes! Lo indispensable que necesitas es paciencia e imaginación: te garantizo que, siguiendo mis consejos, podrás crear tu primer "pequeño" bot y entender perfectamente su mecanismo, después de lo cual el tiempo y un poco de esfuerzo bastarán. ! Dicho esto, lo único que tengo que hacer es desearte una buena lectura y, por qué no, ¡divertirte!
índice
¿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 autónomos para Telegram, la música cambia: es un bot creado por cuatro programadores El Paesei, que permite rastrear un envío a partir de su código de seguimiento y recibir actualizaciones de estado para que todo sea automático. 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 servicio de mensajería (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 padre-bot 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ía, 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ía, luego elija un nombre de usuario (recordando que necesariamente debe terminar con la palabra botpor ejemplo repetir_bot) y todavía presiona Envía. 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), también se pueden usar de forma gratuita con un límite mensual de llamadas al servicio.
Sin embargo, para crear un bot que interactúe con Telegram, es imprescindible suscribirse a un plan de pago, con precios a partir de $ 2 / mes. En cualquier caso, para suscribirse a Hook.io, conectado a esta página de Internet, ingrese su dirección de correo electrónico en el cuadro Su correo electrónico colocado en la caja Desarrolladores nuevos y presiona el botón Crear una nueva cuenta.
En este punto, seleccione el plan pagado desea activar haciendo clic en el precio correspondiente (p. $2), ingrese su informacion tarjeta de crédito en el campo correspondiente y, cuando se le solicite, haga clic en el botón que indica el nombre y precio del plan elegido, para pasar al siguiente paso.
En este punto, siga el asistente para crear el nombre de usuario y la contraseña que se utilizará para acceder al servicio, 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 propuesta de 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 3 Python en el menú desplegable Idioma, 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.
importar registro desde telegram import Update, ForceReply from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s - %(mensaje )s', level=logging.INFO ) logger = logging.getLogger(__name__) def start(update: Update, context: CallbackContext) -> Ninguno: usuario = update.effect_user update.message.reply_markdown_v2( fr'Hola {usuario. mencionar_markdown_v2()}!', answer_markup=ForceReply(selective=True), ) def help_command(update: Update, context: CallbackContext) -> Ninguno: update.message.reply_text('AIUTO!') def echo(update: Update, context: CallbackContext) -> Ninguno: update.message.reply_text(update.message.text) def main() -> Ninguno: updater = Updater("token_repeat") despachador = updater.dispatcher despachador.add_handler(CommandHandler("start", start)) dispatcher.add_handler(CommandHandler("help", help_command)) dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo) ) updater.start_polling() updater.idle() if __name__ == '__main__': main()
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.
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 el comando https://api.telegram.org/botToken/setWebhook?url=https://hook.io/tuonomeaccount/nomehook que, en este ejemplo, se convierte en 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 {"ok": true, "result": true, "description": "Webhook was set"} en el navegador: esto significa que su bot está funcionando y que, a partir de ¡Este momento, 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 lo que quieras que tu bot repita.
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.