# Telegram Bot API

Telegram Bot API (mencionado también como Telegram Bot Platform) es el nombre oficial de la interfaz de programación del servicio de mensajería Telegram orientada a los bots (abreviación de robot). La primera versión se estrenó públicamente a mediados de 2015 y la interfaz está operativa para varios clientes de la aplicación a través de un nombre de usuario específico.
El mecanismo, que forma parte de MTProto, hace hincapié en la creación de cuentas bot, usuarios autónomos que se controlan por varias acciones: botones interactivos, secuencias o por inteligencia artificial. Están disponible en todos los clientes a través de un alias terminado en bot. También se destaca por su libertad en el desarrollo al ser multilenguaje. Debido a su proliferación mayoritaria de terceros para todo tipo de uso, los medios catalogan a Telegram como pionero en la masificación de bots conversacionales.
Los usuarios autónomos reciben mejoras de optimización para realizar servicios que los usuarios corrientes. Tienen capacidad de obedecer comandos avanzados de sólo texto, administrar de canales y grupos, compartir contenido, elaborar votaciones en tiempo real y ejecutar juegos y pagos. Como resultado, varios países lo emplean para realizar consultas, pedidos a domicilio, gestionar servicios corporativos, entre otros casos.
Para desarrollar un bot dentro del protocolo se utilizan kits de desarrollo para el lenguaje de los bots a libre elección. Para ello, el bot padre (o conocido por su alias @botfather) es que administra los tókenes, los alias y permisos. En abril de 2016 Pável Dúrov, fundador de Telegram, ofreció donaciones individuales de 25 000 dólares por cada bot desarrollado de forma útil y rápida. La implementación de las características es gratutita, excepto la opción de entablar pedidos desde el menú de adjuntos, limitada a empresas de pago.

## Gestión y permisos

Cada bot previamente registrado vía @botfather, que es la única cuenta para la creación y revocación de ese tipo de cuentas, tiene una serie de parámetros y actividades:
* Información básica: Nombre, imagen de perfil, descripción y presentación.
* Alias: Obligatorio y con sufijo bot.
* Actividades adicionales: Modo inline (integrado en español), posibilidad de añadir integrantes, permiso para leer los mensajes del grupo.
* Clave secreta o token: Para integración con servicios ajenos a Telegram como páginas web o servicios en la nube.

## Desarrollo
### Bot API 1

La primera versión (Bot API 1) fue anunciado oficialmente en junio de 2015. Las funciones fueron incorporadas en la versión 3.0 de Telegram para Android y clientes afines. En enero de 2016 se implementó los Inline Bots orientado a la entrega de información de sitios web sin salir de la aplicación.
MTProto permite el uso de bot conversacionales o chatbots. Los desarrolladores pueden asignar una lista de comandos (/función subfunción). Para hacer más interactiva en las conversaciones, se añadió a los bots un teclado diseñado para respuestas u órdenes instantáneas.

### Bot API 2

La segunda versión fue anunciada en abril de 2016. La versión incluye mejoras en la interfaz y un teclado dinámico ubicado en la parte inferior del mensaje. En 2017 se implementó el soporte para pagos. También se implementa la función de teclados interactivos, inicialmente exclusivo para conversaciones entre dos personas, expandiéndose a los grupos y canales meses después.
Es posible adjuntar 19 tipos de comunicación multimedia para enviar y recibir mensajes con un límite de 50 MB por archivo (a agosto de 2020). Para la interacción los bots utilizan también geolocalización y callback. Adicionalmente, los bots pueden personalizarse a gusto del usuario y vincular cuentas de otros servicios.

## Características
### Comandos en bloque y teclados interactivos

Telegram añade una serie de comandos en bloques dentro y fuera del teclado. Una publicación de VC.ru indica que los mensajes pueden ser asignados en bloques. Por ejemplo, aparece las órdenes "pedir una pizza" y "traer refresco" después del mensaje "¿Qué desea consumir?".
Además de los comandos, los teclados interactivos permiten mostrar detalles en tiempo real. Como la cantidad de reacciones de los usuarios (el caso del bot oficial @like), votaciones (@vote) u operaciones matemáticas en tiempo real.
En abril de 2022 se alterna los comandos en bloque tradicionales con aquellos programados en Javascript, para realizar comandos interactivos directamente accesibles desde el menú de adjuntos. Este desarrollo está limitado a suscriptores de pago.

### Markdown

El soporte de Markdown vino incluido en versiones preliminares. Eso permite que los bots (como @bold) pueden dar formato de texto en las conversaciones, incluyendo cursiva y negrita. En 2017, esa característica vino incorporada desde el menú de acciones al escribir el cuadro de texto.

### Administración y moderación en grupos

Inicialmente los bots pueden actuar como administradores y expulsar a usuarios no deseados. En la segunda versión los grupos públicos pueden generar datos estadísticos de integrantes y sus interacciones. Es necesario que el bot tenga el permiso para leer los mensajes.

### Bots integrados

Esta característica permite previsualización en tiempo real información al mencionarlo por su alias en el cuadro de texto. El usuario puede compartir al enviar el comando si desea. Las primeras funciones fueron proveídas de Bing, Yandex, Youtube, IMDb, Wikipedia y Giphy.
Cabe señalar que es diferente el desarrollo de los inline bots a los conversacionales individuales. Su patrón de funcionamiento es @aliasbot [comando obligatorio] [comando opcional]. Los mensajes compartidos están atribuidos por el bot que el usuario utilizó. Además, no son personalizables ni pueden conocer la información de las conversaciones.

### Plataforma de juegos

En septiembre de 2016 se publicó un extracto de documentación sobre la integración de bots con páginas web. En octubre del mismo año se estrenó Telegram Gaming Platform para potenciar el desarrollo de juegos casuales escritos en HTML5. Algunos juegos provienen de Gamee tras un acuerdo con Dúrov.

### Plataforma de pago

Estrenado en la versión 4 para las aplicaciones móviles, en mayo de 2017, los bots pueden recibir dinero de usuarios corrientes mediante Telegram Payments. Mediante un tercero, los pagos se confirman en una lista dentro de la aplicación. El primer bot realizado con fines de pruebas es @shopbot. Acorde a su política, no se registra la información de las tarjetas de crédito que no sea del intermediario.
Los intermediarios permitidos para realizar pagos están Stripe, Rave by Flutterwave, Razorpay (Asia) y otros servicios en más de 190 países. Más adelante se incorporaron, en junio de 2017, Yandex.Money, Paymentwall y Paycom. En noviembre de 2018 la plataforma introdujo a LiqPay para transferencias monetarias en Ucrania, siendo el bot en funcionamiento que usa este sistema de transferencias es @RailwayBot para comprar boletos de transportes. Rusia es el país de mayor adopción en los pagos en línea, según Admitad se contaron más de mil millones de rublos en operaciones durante 2019.

### Compartir número

Por defecto, los bots no pueden leer el número del teléfono del intercomunicador. El usuario puede compartir su número si lo desea.

### Páginas web externas e inicio de sesión

Desde junio de 2019 es posible enlazar a las páginas web externas e iniciar sesión en unos toques. Con ello los usuarios de Telegram pueden interactuar con los botones que llevan a sitios web enlazados. También se añade la opción de permitir que el bot notifique lo que sucede en la web. El ejemplo conocido es bot @DiscussBot, que al ser administrador de un canal público ofrece que las publicaciones públicas se enlacen a la página comments.app para permitir el uso de comentarios. Los usuarios que iniciaron sesión dejarán su nombre e imagen de perfil en cada comentario.

## Usos

Los bots fueron adoptados en diversas disciplinas. A 2019 la falta de una tienda oficial para bots motivó a la comunidad elaborar sus propios directorios como StoreBot (cuyo alias es también @StoreBot) que son accesibles como páginas web. Además, se promovieron servicios para agilizar la creación de bots para su uso comercial sin necesidad de programar su código.
Destacan, entre varios usos, en el matemático (usando como base a GNU Octave desarrollado por TeleMath), turismo comunitario (usando a Nomadlist o Skyscanner), gestión de recibos (la empresa Kenya Power utiliza la plataforma para gestionar los gastos de electricidad o MiTracking para el seguimiento de paquetes a partir del número de envío) y en la comunicación social (algunos emplean conocimiento local y otros usan catálogos de música). Además sirve de utilidades digitales para la gestión de archivos Bittorrent o la conversión de archivos.
Además se emplea en la automatización de tareas de grupos dentro del servicio de mensajería debido al gran volumen de usuarios. Por ejemplo, en una entrevista al desarrollador de Combot Fedor Skuratov en 2018 se emplean estadísticas para moderar a integrantes, con algunas limitaciones, en tiempo real. En 2020 Globo.com y WWWhatsnew compartieron un bot para grupos que emula al juego de mesa Uno, e indica a los jugadores y sus mazos en forma de stickers con instrucciones en varios idiomas.
Otros casos fueron por búsqueda de información o entretenimiento. El proyecto Sci-Hub desarrolló un bot para encontrar papeles académicos sin recurrir a los pagos por acceso. En 2018 el medio RBC reportó que asesores emplearon esta herramienta para compartir datos recientes de negocación bursátil. En 2021 el periódico peruano La República encontró una utilidad para elaborar un meme a partir de texto generado por el usuario y las imágenes que desea incrustar.

### Sistema financiero

La API se empleó en el uso financiero de forma no nativa hasta su integración con proveedores de pago en 2017. En marzo de 2015 se presentó una bot para gestionar bitcóins y conservar en una billetera virtual. En 2016 la empresa española Octopocket presentó otro bot para enviar monedas extranjeras, el servicio aprovecha los botones interactivos para ver el estado de la billetera y, en la conversaciones, los bots integrados para agilizar la transferencia. Caso similares son PayPBbot, un sistema para enviar y recibir dinero en Rusia; QPayBot, para notificar y pagar multas de tránsito, entre otros.

### Gmailbot

Gmailbot es un bot autorizado por el equipo Telegram que permite enviar y gestionar mensajes del servicio de correo Google Mail. En una conversación, previo permiso de acceso, los mensajes reflejan a la bandeja de entrada con botones para acciones básicas: responder, borrar o enviar a los destinatarios. Los mensajes son almacenados aparte de la nube principal de Telegram, cuyos datos son borrados un mes que el usuario revoque el acceso.

### IFTTT

En abril de 2016 el servicio IFTTT integró la opción de realizar acciones con 360 servicios de la nube, además de recibir y enviar en otras redes sociales. Las acciones se realizan con el bot @ifttt, previa autorización del usuario y que se desactiva desde los ajustes del servicio. Además, tiene la opción para crear y compartir recetas, para automatizar trabajos con dispositivos y servicios, y compartir en el sitio web dedicado a Telegram. En general, las recetas se aplican solo a grupos o canales que el usuario es propietario y el mencionado bot es administrador.

### GPT-4

Extraoficialmente se implementó soporte para el estándar GPT-4, comunicación y generación de contenido basadas en redes neuronales. A diferencia de su versión web accesible originalmente, este solo se necesita órdenes de texto. Su código fuente se encuentra en Github.

## Impacto

Antes de Bot API los usuarios lograron portar herramientas automatizadas para Telegram. Su funcionamiento permitía la interacción del usuario directa sin requerir de plugins. El desarrollo de plugins para ha sido aprovechado en plataformas colaborativas o empresariales; según Lifehacker.ru, en junio de 2015, se desarrolló un bot exclusivo para grupos que permite organizar ediciones de forma simultánea en GitHub, Bitbucket y Trello.
El portal gagadget.com diferencia los bots de las aplicaciones para móviles por su versatilidad al programar como si fuera un «motor de búsqueda». La edición rusa de Life sugirió usar estas utilidades para que «Telegram se [convierta] en la aplicación principal en el teléfono inteligente».

### Concurso de bots

En abril de 2016, se realizó un concurso para desarrollar los mejores bots en la plataforma. Entre los ganadores estaban relacionados con filtros de fotos, juegos de Werewolf, el gestor de criptomoneda Octopocket e integración con otros servicios externos. En marzo de 2019, los desarrolladores y la APPSIM reclamaron el sistema de revisión de los bots, debido a ciertos inconvenientes en los resultados del concurso.

### Logros importantes

Yandex impulsó el desarrollo de bots con su propio buscador, un medidor de audiencia y un traductor. Además, creó su bot de análisis y reconocimiento de música YaMelodyBot. Adicionalmente permitió que Yandex.Money se integre en el pago de bots. Su competidor, Mail.ru, desarrolló un bot para realizar y gestionar campañas publicitarias.
En 2015 se lanza al mercado internacional Chatfuel bajo la financiación de Yandex. Fue desarrollado por Dmitrii Dumik y Artem Ptashnik a partir del bot original Paquetbot. El servicio crea y administra miniaplicativos sin necesidad de codificar. Entre los bots creados oficialmente son los portales de noticias Forbes y TechCrunch.
En junio de 2016 se desarrolló un bot de aventuras Dragon Islands. Al ser el primer juego por turnos, mediante comandos, alcanzó los 10 000 usuarios el primer tremestre. En paralelo se desarrolló el bot Villagame, centrado en estrategia en tiempo real, con 300 000 usuarios.
En junio de 2016 dos españoles anunciaron el desarrollo de Politibot para las elecciones presidenciales en España. En la conversación es posible definir el tipo de usuario elector para ayudar a tomar decisiones.
En septiembre de 2016 estudiantes de Singapur desarrollaron un bot para controlar remotamente una lavadora previamente escaneado con código QR.
Para facilitar la transcripción de voz a audio se realizaron bots enfocados en esta tarea. En 2017 Lifehacker reportó que se desarrolló Voicy, un bot de código abierto que permite transcribir mensajes de audio con un límite de 50 segundos. Además, permite usar la API de Yandex.SpeechKit para grabaciones sin límite de tiempo. El medio español Genbeta recomendó este bot debido a la facilidad de interpretar los mensajes de audio y vídeo en más de 80 idiomas. VC en 2019 señaló que existe otro bot que transcribe mensajes de voz automáticamente en los grupos en idioma ruso.
En 2019 la Editorial Prensa Ibérica anunció la creación de bots para diferentes diarios locales de la empresa española, en lugar de los canales, al compartir material de los suscriptores y recibir el boletín informativo. Entre los diarios que poseen sus respectivos bots se encuentran La Opinión-El Correo de Zamora, Faro de Vigo, La Nueva España y La Opinión de Málaga.
En 2020 se creó un bot como ayuda a la consulta popular promovida por el presidente de la Asamblea Nacional de Venezuela Juan Guaidó. Consistió en autenticar información personal y fotografiar la cédula de identidad, que será eliminada para evitar espionaje. Una vez verificado, el bot mostró botones de respuestas predefinidas. Al finalizar se muestra un código de verificación único para ratificar el voto.

### Controversias

Estado Islámico usó los bots para la difusión de material extremista antes de la creación de los canales en 2015.
En marzo de 2016 la Association for Copyright Protection on the Internet (AZAPI) solicitó la retirada del bot Flibusta (en ruso: Флибусты) por compartir libros sin permiso de sus autores. En septiembre de 2016 los desarrolladores de Silver Rain pidieron a los desarrolladores mejorar el control de los derechos de autor tras una disputa con otras emisoras de radio.
En enero de 2019, una publicación de Forcepoint para Wired señala que el mecanismo de cifrado de las comunicaciones es HTTPS en lugar de MTProto por lo que existe el riesgo de interceptar las comunicaciones cuando se obtiene el token de acceso. En mayo de 2020 el investigar Artem Starosek documentó para AIN.UA que existen una decena bots para revelar información privada sobre ciudadanos de Ucrania y actúan a modo de directorio al buscar el nombre o correo electrónico. En agosto de 2020 el medio ruso Kod Durova recopiló información sobre la inestabilidad del funcionamiento de la API, algunos creadores entrevistados argumentaron que el equipo dejó de enfocar en las mejoras después del concurso de 2018.
En octubre de 2020 la empresa Sensity descubrió a un bot que creaba versiones desnudas de personas mediante deepfake y que recibía retroalimentación. Se estima que superó los cien mil usuarios en Rusia y países cercanos y cuyo potencial podría recurrirse en la extorsión específicamente a infantes. Las autoridades de Italia anunciaron que tomarán acciones legales para los responsables del servicio por no respetar las leyes de privacidad locales.