Cómo leer los mensajes que se le envían a un bot de Telegram desde una aplicación desarrollada con Visual Studio Community C#. Incluimos el código fuente en C# de la aplicación completa.

Requisitos para poder leer mensajes de Telegram enviados a bot usando C#

En primer lugar necesitaremos disponer de la App de mensajería Telegram, o bien instalada en un smartphone o bien en su versión de escritorio en un PC o bien la versión web.

Necesitaremos también disponer de un bot de Telegram creado y activo, y saber cuál es su token de seguridad. Todo esto está explicado paso a paso en el siguiente artículo:

Para el desarrollo de la aplicación usaremos el IDE Microsoft Visual Studio Community, que es gratuito. Y como lenguaje de programación usaremos C# o C Sharp. Por lo tanto necesitaremos disponer de este IDE de desarrollo. En el siguiente enlace explicamos cómo descargarlo e instalarlo:

Para la conexión con el API de Telegram usaremos dos librerías (DLL), que hay que agregar en las referencias del proyecto. En el siguiente enlace explicamos cómo instalar estas librerías usando NuGet en Visual Studio .NET:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Abriremos Visual Studio .Net y crearemos un nuevo proyecto (aplicación de consola). Para ello pulsaremos en «Archivo» – «Nuevo» – «Proyecto…»:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Seleccionaremos «Visual C#» – «Escritorio de Windows» y elegiremos «Aplicación de consola (.NET Framework)». Introduciremos el nombre para la aplicación, por ejemplo «LeerMensajesBotTelegram», la ubicación y el Framework a usar, en nuestro caso «.NET Framework 4.6.1»:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Para evitar errores de compilación es conveniente copiar a la carpeta Debug de nuestro proyecto (donde se creará el fichero .exe de la aplicación) los ficheros DLL y XML necesarios que, o bien podemos descargar o bien instalar con NuGet, como hemos indicado anteriormente:

  • Telegram.Bot.dll
  • Newtonsoft.Json.dll

Ambos ficheros y el resto necesarios se incluyen en la descarga de la aplicación completa de ejemplo, por lo que también nos servirán para compilar y ejecutar nuestra aplicación:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Agregaremos la referencia a estos dos ficheros DLL desde nuestro proyecto Visual C#. Para ello accederemos al menú «Proyecto» – «Agregar referencia»:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Pulsaremos en «Examinar» y seleccionaremos los ficheros DLL Telegram.Bot.dll y Newtonsoft.Json.dll (desde la ubicación donde los tengamos alojados):

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Y pulsaremos «Aceptar»:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Si se han agregado correctamente nos aparecerán como referencias del proyecto:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

A partir de ahora podremos escribir la aplicación C# que escuchará y leerá los mensajes que se envíen al bot de Telegram (o bien con /xxx si se ha marcado la opción de seguridad correspondiente, o bien si se nombra al bot con @nombre_bot o bien todos los mensajes de los grupos a los que esté unido si así se ha indicado en la configuración, opción /setprivacy del bot).

Se trata de una aplicación de consola, que no tiene modo gráfico y por lo tanto no dispone de formularios ni de componentes visuales. Será únicamente una ventana de MS-DOS que estará escuchando los mensajes que se envíen al bot de Telegram que coincida con el token de seguridad indicado.

Añadiremos los using necesarios en la parte superior:

En la clase definiremos una variable de tipo TelegramBotClient con el token de seguridad obtenido al crear el bot (en XXX:XXX):

Estableceremos el código para el inicio del programa (main):

Y añadimos el evento de escucha de mensajes:

Una vez añadido el código podremos compilar la aplicación y comprobar que funciona correctamente:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Se abrirá una ventana de MS-DOS y si el token se ha establecido correctamente mostrará el mensaje:

Escuchando mensajes de @Nombre_Bot_Telegram

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

La aplicación permanece abierta y escuchando mensajes, si ahora accedemos a Telegram e introducimos /hola en el bot nos deberá responder un «Hola nombre_usuario ¿qué tal?»:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Si mostramos la ventana de la aplicación veremos que va capturando todos los mensajes que se envíen al bot con /xxx o bien todos los mensajes si la opción de setprivacy está a true:

Desarrollar aplicación de escritorio Windows que lea mensajes enviados a Bot de Telegram con C#

Anexo

Descarga de la aplicación completa y las DLL necesarias en C#

Código fuente completo de la aplicación en C# que escucha y lee los mensajes enviados a un bot de Telegram