Tutorial Raspberry Pi - Uso de Telegram con Python

Tutorial Raspberry Pi - Uso de Telegram con Python

¡Hola! Después de la fama que ha rodeado a Telegram, varios Makers como yo, quieren hacerlo más interactivo con el mundo exterior, es decir, que se vuelva una herramienta de comunicación con nuestras cámaras, sensores, arduinos, reles y una infinidad de cosas que podrían usarse. Después de investigar y experimentar un poco he descubierto la manera para lograr interactuar con la api de Linux que nos brinda la pagina oficial, desde un programa en Python. Gracias a una librería no muy conocida pero muy potente llamada Pexpect.

Manos a la Obra:

Primero que nada tenemos que instalar Telegram messenger CLI como lo expliqué en mi tutorial anterior.

Pexpect se encuentra dentro de The Python Package Index o mejor conocido como PyPi, que es un repositorio lleno de programas de Python, así que tendremos que instalarlo ejecutando en la terminal:

sudo apt-get install python-pip
Después descargamos Pexpect del repositorio ejecutando en la terminal:
pip install pexpect

y listo. Ahora les enseñaré cómo utilizarlo.

Pexpect está diseñado para ejecutar un programa e interactuar con él por línea de comandos, principalmente usado para  SSH, FTP, mencoder, passwd, etc. A continuación les mostraré las funciones básicas que usaremos de esta librería.

pexpect.spawn('programa')

Esta función ejecuta un programa que sea accesible por medio de comandos, incluso puedes ejecutarlo con parámetros. En nuestro caso tendremos que ejecutarlo de la siguiente forma para abrir Telegram.

pexpect.spawn('./telegram -k tg.pub')

Otra de las funciones es expect (''). Gracias a esta función podemos parar la ejecución de nuestro programa principal hasta que Telegram nos arroje una cadena de texto determinada, un problema es que no lo interpreta como texto plano por lo que si ingresamos * / ] o cualquier otro signo se puede interpretar. Tras unas cuantas pruebas  comprobé que para esperar la conexión de Telegram y alistarse para ingresar comandos tenemos que ejecutar la función expect de la siguiente forma:

telegram.expect('0m')

Lo que seria igual a esperar el signo '>'.

Nota: La espera por defecto es de 2 minutos. Si pasan estos 2 minutos y aún no aparece la cadena de caracteres que está esperando la función expect el programa se cierra y arroja el valor de su buffer almacenado hasta el momento. Esto se puede regular agregándole un valor al parámetro timeout.

expect('0m',timeout = 1200)

La función sendline(), nos sirve para poder ejecutar una línea de comando como si nosotros mismos estuviéramos ejecutando directamente a la aplicación de Telegram como en el siguiente ejemplo.

sendline('msg Luis_Villa Probando desde Python')

Revisen la documentación de la librería para mas información pero, por el momento son las funciones necesarias para enviar mensajes, imágenes y agregar contactos.

Por desgracia aún no he podido hacer un programa fiable sin tanto margen de error para la interacción con la recepción de mensajes, debido a que la aplicación de Telegram que usamos en Linux no marca como leídos los mensajes, y las alertas de que un contacto esta escribiendo son muy continuas por lo que es un poco difícil delimitar pero en cuanto tenga más refinado mi código con gusto lo comparto.

Envio de un mensaje

Cabe destacar que con Telegram sólo podemos enviar mensajes a contactos ya agregados anteriormente. Para el envio del mensaje guardamos el siguiente código en la misma carpeta que esta telegrama en mi caso "/home/pi/tg".
#!usr/bin/env
import pexpect

contacto = "Luis_Villa"                          #Contacto a quien va el mensaje
mensaje = "Probando desde Python!!"              #Mensaje a enviar
telegram = pexpect.spawn('./telegram -k tg.pub') #Inicia Telegram
telegram.expect('0m')                            #Espera a que termine de iniciar
telegram.sendline('msg '+contacto+' '+mensaje)   #Ejecuta el comando msg
print ('Mensaje enviado a '+ contacto)           #Notifica que ya se ha mandado el mensaje
telegram.sendline('quit')                        #cierra Telegram
Lo guardamos con el nombre que sea con extension .py y lo ejecutamos en la terminal. python1   python2

Envio de Imágenes

Básicamente es lo mismo que anteriormente vimos, solo que ahora usaremos la función send_photo <contacto> <ruta del la foto>
#!usr/bin/env
import pexpect
import time

contacto = "Luis_Villa"                          #Contacto a quien va el mensaje
img = "/home/pi/prueba.jpg"                      #Imagen a enviar
telegram = pexpect.spawn('./telegram -k tg.pub') #Inicia Telegram
telegram.expect('0m')                            #Espera a que termine de iniciar
telegram.sendline('send_photo '+contacto+' '+img)#Ejecuta el comando send_photo
telegram.expect('100',timeout = 1200)
telegram.expect('photo')
print ('Imagen enviado a '+ contacto)            #Notifica que ya se ha mandado el mensaje
telegram.expect('0m') 
telegram.sendline('quit')                        #Cierra el programa
  python3  

Agregar Contactos

Como ya he mencionado antes, Telegram sólo nos deja enviar mensaje a números agregados a la lista de contactos. Lograr eso es muy sencillo con el siguiente programa a través de Python:
#!usr/bin/env
import pexpect
import time

telefono = '+521..........'
nombre = 'Luis'
apellido = 'Villa'
telegram = pexpect.spawn('./telegram -k tg.pub') 
self.child.expect('0m')
self.child.sendline('add_contact '+telefono+' '+nombre+' '+apellido)
print ('El contacto '+nombre+' '+apellido+' con el teléfono '+telefono)
self.child.expect('0m')
self.child.sendline('quit')

26 comentarios


Luis Delgado · Hace 9 meses

Disculpen tengo el mismo error con el comando expect('0m'), la 1era vez q lo ejecuto me funciono a la perfección, pero cuando lo deseo volver a ejecutar me sale ese error, si me podrian ayudar les agradeceria mucho

Felipe ordoñez · Hace 1 año

Hola buen dia, Estoy empleando el modulo Pexpect, pero en lo que realizo, en la terminal es algo como [user]: Alguna idea como podria hacer un expect para este tipo de frases tomando en cuenta que no recibe directamente la cadena, qeu tipo de codigo es este 0m ?, agradezco la ilustracion

desperado · Hace 1 año

Hola, actualmente estoy intentando realizar este tutorial pero no puedo inicializar Telegram: la ruta de telegram segun mi configuracion es : /home/pi/tg/bin/telegram-cli y no consigo spawnear el programa! :( Actualmente mi Script es: #!usr/bin/env import pexpect contacto = "desperado" #Contacto a quien va el mensaje mensaje = "Probando desde Python!!" #Mensaje a enviar telegram = pexpect.spawn("./bin/telegram -k tg-server.pub") #Inicia Telegram telegram.expect("0m") #Espera a que termine de iniciar telegram.sendline("msg "+contacto+" "+mensaje) #Ejecuta el comando msg print ("Mensaje enviado a "+ contacto) #Notifica que ya se ha mandado el mensaje telegram.sendline("quit") #cierra Telegram y el error que arroja es: Traceback (most recent call last): File "msje.py", line 6, in telegram = pexpect.spawn("./telegram -k tg-server.pub") #Inicia Telegram File "/usr/local/lib/python2.7/dist-packages/pexpect/pty_spawn.py", line 194, in __init__ self._spawn(command, args, preexec_fn, dimensions) File "/usr/local/lib/python2.7/dist-packages/pexpect/pty_spawn.py", line 267, in _spawn 'executable: %s.' % self.command) pexpect.exceptions.ExceptionPexpect: The command was not found or was not executable: ./telegram. agredeceria cualquier ayuda!

Daniel Fernández · Hace 1 año

ahora el ejecutable de telegram_cli ya no se llama telegram, sino telegram-cli y se encuentra dentor de la carpeta /bin, que esta dentro de la carpeta /tq Por lo tanto imagino que la ejecución inicial del programa tendría que ser: telegram = pexpect.spawn("./bin/telegram-cli -k Rutadondeesta_tg-server.pub") Te sujiero que copies el archivo tg-server.pub en la ruta /etc/telegram-cli dando permisos a esta carpeta de chmod 755. Conesto no necesitaras moner el parametro de -k a telegram-cli. Voy a ver si lo pruebo y pego el código por aquí

Chattare con il proprio frigo: Telegram e Raspberry · Hace 1 año

[…] da questo post, ho provato ad installarlo su un computer di tipo Raspberry B+ per valutare come un oggetto […]

HeyApple · Hace 1 año

Hola al ejecutar el script me da un error en el expect('0m), lo curioso es que la primera vez que lo ejecuté no me daba el error, y a la segunda sin tocar nada... ZAS ,llevo tiempo intentando dar con la solución y no lo consigo, si alguno me puede ayudar lo agradecería. El error en cuestión es este: Traceback (most recent call last): File "enviarmensaje2.py", line 7, in telegram.expect('0m') #Espera a que termine de iniciar File "/usr/local/lib/python2.7/dist-packages/pexpect/__init__.py", line 1451, in expect timeout, searchwindowsize) File "/usr/local/lib/python2.7/dist-packages/pexpect/__init__.py", line 1466, in expect_list timeout, searchwindowsize) File "/usr/local/lib/python2.7/dist-packages/pexpect/__init__.py", line 1568, in expect_loop raise TIMEOUT(str(err) + 'n' + str(self)) pexpect.TIMEOUT: Timeout exceeded.

Pablo · Hace 1 año

Hola. En primer lugar, muchas gracias por el tutorial. Decir que yo también tengo este error y no he logrado dar tampoco con la solución. El problema parece ser la sentencia telegram.expect('0m'). He probado a realizar un ejemplo de pexpect con ls y ha funcionado correctamente. ¿Alguna sugerencia?. En todo caso, muchas gracias.

Torehc · Hace 1 año

¿Hay novedades con este tutorial? ¿Alguna mejora o forma más fácil de realización? Saludos

Remote Control with Telegram and chipKIT uC32, Basic I/O shield with Raspberry Pi | RedAcacia · Hace 2 años

[…] A thank you is also due to Geeky Theory and their execellent website for the tutorial of Pexpect. […]

felipe · Hace 2 años

hola amigo tengo un problema., ya lo de la actualizacion ya lo organize modificando la linea de que inicia a telegram, pero a la hora de mandar un mensaje no lo envia, ya que uso el sendline() pero no lo reconoce como comando disponible, y usando la sigueinte linea en el codigo sigue igual. telegram.expect('0m') que pasara? ¿por que telegram no se inicia correctamente? lo que si he notado es que despues de que le hablo desde un celular a la raspberry ahi si se activa el programa y puedo enviar mensajes y fotos normalmente. que pasara ahi? muchas gracias. feliz tarde

Walter Fabian Rodriguez · Hace 2 años

Mirando las opciones de la aplicación quizas exista otra manera de abordar el uso de esta aplicación: Utilizando la opción -P el cliente de Telegram se convertiría en un servidor pequeño el cual se le pueden enviar los comandos y recibir una respuesta (Creando un cliente mas fácil de administrar vía tcp, supongo). Me gustaría poder explorar mejor la idea y tener algo mas concreto, pero por cuestiones laborales no puedo; así que expongo la idea para que otros con mas tiempo puedan experimentar y puedan indicar los resultados. Agrego unas capturas corriendo el cliente Telegram con la opción -P 6666 y conectandome desde telnet:

Zagur · Hace 2 años

Muy interesante el tutorial. Pero me surge una pregunta. Si por ejemplo quiero que en vez de enviarme una cadena de texto quiero que me envíe la temperatura de mi ordenador, como se haría? Como podría combinar Python con Bash? Y otra cosa, si quiero que me responda cuando envío una palabra "clave"? (por ejemplo que yo envie "temperatura" y me responda con la temperatura del ordenador) Seria muy complicado de hacer?

DENNYEL · Hace 2 años

para agregar contactos enves de "self.child", tienen que poner "telegram", y para el ultimo release tienen que poner ./bin/telegram-cli

Miguel Angel Roa · Hace 2 años

Despues de varias pruebas, el problema, no esta en la espera del caracter ya que al ejecutar el api del telegram pide el numero de telefono aunque ya este registrado este. ya os comento si logro solucionarlo

Miguel Angel Roa · Hace 2 años

Me ha resultado imposible ya que hice un script de python mediante el cual introduje un nuevo numero de movil me llega el mensaje de la clave, introduzco la clave y llega la notificacion de detectamos inicio de sesión, pero no consigo no enviar mensajes ni esperar el caracter desde el script, y lo curioso del asunto es que al iniciar la api desde el terminal me lo carga con el numero anterior al del script del python ¿?, Gracias y espero vuestras respuestas.

Miguel Angel Roa · Hace 2 años

Buenas tardes descargue la Api de Telegram el 10 de Octubre, y sorpresa la mía ya que para ejecutar la aplicación es mediante la linea "bin/telegram-cli -k tg-server.pub" pues bien esta linea al ejecutarla mediante la libreria pexpect, pasa el tiempo de espera ya que no recibe el caracter ">". Estoy probando a ver si doy con la tecla, cualquier sugerencia sería de ayuda muchas gracias.

Andrés Bestard · Hace 2 años

Yo lo he conseguido de la siguiente manera: #!usr/bin/env import pexpect import time telegram = pexpect.spawn('/home/pi/tg/bin/./telegram-cli -k /home/pi/tg/tg-server.pub') telegram.expect('rn>', timeout=2) time.sleep(2) telegram.sendline('contact_list') telegram.sendline("msg contacto Hola mundo xD") telegram.sendline('quit')

ale7381 · Hace 1 año

Muchas gracias por el script me ayudo muchísimo en mi proyecto :D

Raúl · Hace 2 años

Muy buenas! A mi me ocurre lo mismo, has encontrado la solución??? intento desinstalar el pexpect y no hay manera. Si encontraste la solución agredecería que la compartieras ;) Saludos!

Ricardo · Hace 2 años

Si sacas un rato, ¿podrías echarme un cable con el telegram? Te cuento rapidamente: como a veces necesito acceder en remoto a mi ordenador, he instalado un servidor vnc, pero claro, el ordenador tiene que estar encendido, así que he creado un script en python que al mandarle un comando por telegram, me lo encienda. Funciona casi perfectamente, enciende el ordenador, lo apaga, etc, el problema es que la comunicación solo funciona en el sentido movil -> raspberry, pero a la inversa no, así que ... no me llega confirmación. Llevo unos cuantos días revisandolo y tirandome de los pelos y no se donde tocar. Se que para esto suena innecesario, porque si conecta el vnc es que ha funcionado, pero estoy pensando en ampliar funcionalidad (sistema de seguridad y domótica) para el que si necesitaría esa comunicación. Te adjunto el código por si lo puedes mirar http://www.codeshare.io/c342T (el primer sendline de la linea 26 si funciona, pero los demás no) Gracias por tu tiempo

Ricardo · Hace 2 años

Bug localizado!!!! El problema era el mensaje concreto. No me dejaba envíar cadenas de caracteres con tildes o ñ. Ahora ya funciona a la perfección

DENNYEL · Hace 2 años

para eos tienes que usar coding utf-8

Alejandro Dirgan · Hace 2 años

buen dia Villak, te puedo recomendar algo que estoy implementando, prueba con la funcion de * **search** \, y la de * **mark_read** \, y creo que con eso puedes recibir comandos para que tu raspberry los ejecute y en otro thread o comando de sistema mandas un mensaje de respuesta con la informacion que quieras enviarte, avisame si te sirvio.. un saludo

[ V i L l A k ] · Hace 2 años

Hola muchas gracias por la recomendación, ya tengo un programa estable para recibir y ejecutar comandos con Telegram, pero en cuanto tenga tiempo pruebo tu sugerencia a ver cual me funciona mejor. Saludos.

Felipe Ravena · Hace 2 años

Hola, he intentado recibir mensajes para ejecutar comandos con telegram usando un codigo que facilitaste en comentarios anteriores pero no logro hacerlo funcionar, agradeceria me dieras un ejemplo para conseguirlo. Saludos.

Urbano · Hace 2 años

Mi duda: hay alguna forma de sabes cuál es el último mensaje que te han enviado? Estaba intentando hacer un bot y necesito enviarle comandos en un grupo, pero no lo he conseguido tras varias horas.

[ V i L l A k ] · Hace 2 años

Hola, la verdad no he visto eso, sin embargo teniendo la hora de recepción junto con la librería time de python, puedes comparar y ver cual es la que menos diferencia tiene entre la hora actual del sistema y la de recepción. Puedes ver la documentación de Telegram cli para linux en https://github.com/vysheng/tg y ver si algo te ayuda.

pionner123 · Hace 2 años

¿Como se haría para poder recibir un mensaje y guardarlo en una variable?

[ V i L l A k ] · Hace 2 años

Hola que tal perdona el retraso, 7 comentarios arriba deje un código, solo identa todo el programa para que no te de errores. Tiene mucho que no lo pruebo no ce si haya cambiado algo, prueba y comenta que tal te ha funcionado.

Naab · Hace 2 años

Buenas he estado trasteando pero no consigo enviarme a mi mismo, un mensaje. ¿Como seria para enviarte mensajes a ti mismo?

[ V i L l A k ] · Hace 2 años

Hola que tal perdona por la tardanza, solo agrega tu numero como un contacto mas y manda mensaje como se hace normalmente. Saludos y espero no sea muy tarde mi respuesta.

Snorkman · Hace 3 años

Quiero agradecerte por este valioso aporte, muy bien explicado y claro. Tengo una pregunta, hay alguna forma de poder leer el ultimo mensaje que me han mandado y almacenarlo en una variable? Desde ya muchas gracias y saludos desde Argentina.

[ V i L l A k] · Hace 3 años

Claro que se puede... estoy trabajando en otro tutorial y pretendo hacer un repositorio en GitHub para enseñar bien la interacción con Telegram solo que he tenido un poco de retraso para guardar el mensaje de alguien que no he agregado a mis contactos, te dejo un programa que hace lo que quieres: #!usr/bin/env import pexpect import time telegram = pexpect.spawn('/home/pi/tg/./telegram -k /home/pi/tg/tg-server.pub') telegram.expect('0m') time.sleep(0.5) telegram.expect(">>>",timeout = 2) bufer_contacto = telegram.before bufer_contacto = bufer_contacto.strip() encontrado = 0 j=0 while encontrado != 1: if (bufer_contacto[j] == ']' and bufer_contacto [j+3:j+7] != 'User') : contacto = bufer_contacto [j+3:] encontrado = 1 j=j+1 contacto = contacto [18:] contacto = contacto.split (' ') nombre = contacto [0] apellido = contacto [1] apellido = apellido [0:-18] telegram.expect('0m') bufer_mensaje = telegram.before mensaje = bufer_mensaje [1:-2] telegram.sendline('mark_read '+nombre+'_'+apellido) telegram.sendline('quit') print " Estos son los datos del mensaje :" print "Contacto: "+nombre+" "+apellido print "Mensaje: "+mensaje Nota: Corrige la identacion y coloca tu ruta donde instalaste Telegram en spawn Espero y te sirva saludos desde México...

Snorkman · Hace 3 años

Hola de nuevo, como te va? He intentado correr el ejemplo que me has facilitado pero no he tenido exito. Copiando y pegando tu codigo, el error que recibo en el prompt es el siguiente: File "lectura_recepcion.py", line 13 if (bufer_contacto[j] == ']' and bufer_contacto [j+3:j+7] != 'User') : ^ IndentationError: expected an indented block Por lo que puedo entender hay algún problema en la tabulación, pero no consigo ver donde esta. Alguna idea? Millones de gracias nuevamente

[ V i L l A k] · Hace 3 años

Si reestructura toda la identacion del programa solo es eso la lógica y lo demás funciona de maravilla

Snorkman · Hace 3 años

Gracias por la pronta respuesta! Apenas pruebe el código te comento que tal me fué. Mi idea es usar telegram para recibir pedidos, es decir, si por ejemplo un contacto manda solo el texto "Temp" yo le devolvería mediante un mensaje con el valor de mi sensor de temperatura. Estamos en contacto

txavalote · Hace 3 años

Muchas gracias VILLAK, funciona perfectamente en mi raspberry. Ahora me envía una foto por Telegram cuando detecta movimiento con motion. Enhorabuena por el blog!!!

witiza · Hace 2 años

El blog está genial. Una pregunta: ¿Qué comando lanzas en el motion.conf para que envíe la foto al detectar el evento? A mi no me funciona si el script lo lanza el usuario "motion" (sin permiso para ejecutar telegram, o ese creo que es el fallo).

[ V i L l A k] · Hace 3 años

Muchas gracias... si es un encanto este blog me ha gustado y me he acomodado bastante bien....

Uso de Telegram con Python en la Raspberry Pi - Raspberry Pi | Python · Hace 3 años

[…] Seguir leyendo el tutorial | GeekyTheory […]

Guiu · Hace 3 años

Muchíssimas gracias por este tutorial Villak, ha sido de gran ayuda. He configurado el transmission-daemon para que me mande un mensaje cuando finalice la descarga de un torrent, aunque he tenido bastantes dolores de cabeza hasta que no he descubierto que telegram crea una carpeta oculta en la home del usuario que lo ejecuta (en este caso el usuario debian-transmission) que es donde guarda el número de teléfono y otros parámetros de la configuración inicial. Si el usuario con el que quieres ejecutar telegram no tiene home o no tiene permisos de escritura nunca se va a enviar el mensaje. Resuelto este pequeño inconveniente va como la seda!

HeyApple · Hace 1 año

Hola amigo, me gustaría saber cómo has resuelto el problema puesto que yo he cambiado los permisos del archivo oculto, hice un chmod 777 y sigue sin enviarse el mensaje. ¿Con esto debería haber sido suficiente? Gracias

[ V i L l A k] · Hace 3 años

Muchas gracias... si lo omiti en este tutorial porque en el anterior tutorial lo mencione en los comentarios jaja... perdona tratare de hacerlo mas completo la proxima vale

Pau · Hace 3 años

Buenas! He seguido el tutorial y he modificado un poco el script para que me envíe la temperatura de la CPU, la RAM libre, etc... He creado un script en .sh que me llame el script en python y lo he añadido al crontab. Tengo un problema, al ejecutar el .py por primera vez parece como si no tuviera tiempo a conectarse a telegram y, aunque se ejecuta bien, no me llega ningún mensaje. Si lo ejecuto una segunda vez en poco tiempo sí lo envía. Tiene algo que ver con la linia "telegram.expect('0m')"? Muchas gracias!

[ V i L l A k] · Hace 3 años

Hola perdona la demora quisa sea por el tiempo que tarda al establecer la coneccion al principio modifica la linea por telegram.expect('0m', timeout = 180) Aunque considero que la espera es demaciado si te sirve asi entonces si es el retardo de coneccion sino posteame tu script para checarlo y el .py vale

alexcorvis · Hace 3 años

De nuevo darte la enhorabuena Luis! Grandísimo trabajo! Ésto nos abre las puertas de par en par para utlizar Telegram como sistema personal de notificaciones. Puertos GPIO+Sensores+Telegram.....diversión asegurada! :)

[ V i L l A k] · Hace 3 años

Muchas gracias Alex, Si es una aplicacion muy interactiva, actualmente estoy combinando Telegram y WhatsApp en mi proyecto R.A.S.H. (Raspberry & Arduino Smart Home) para tener mas opciones de comunicación.

Nacho Soler · Hace 2 años

Hola! mmm, me has dejado muy inquieto con lo de R.A.S.H... :) yo empecé algo parecido incluído lo del bot de Whatsapp (aunque ya no lo uso..) Decirte que gran tutorial/web y genial lo que haces! Yo en poder intentaré incorporar telegram.. De todos modos, me encantaría saber algo más de RASH! Sería posible?? :D

[ V i L l A k ] · Hace 2 años

Hola perdona la tardanza, muchas gracias, claro que si cualquier cosa contacta me, mi correo es villak@hotmail.es

Paco Garcia · Hace 3 años

Villak, eres genial!!! Al final has encontrado la forma. He hecho una prueba rápida y aunque al principio no ha funcionado, tras varias pruebas ya lo he conseguido. He modificado una línea de tu código pues se quedaba esperando indefinidamente el carácter '>' de telegram. La línea: telegram.expect('0m') La he sustituido por: telegram.expect("0m") Y en mi caso al menos, ya me funciona. Muchas gracias Villak. Ahora si que tenemos una enorme puerta abierta para seguir trabajando... Gracias de nuevo y un saludo.

[ V i L l A k] · Hace 3 años

Muchas gracias Paco, SI perdona por no mencionarlo es que tras las pequeñas actualizaciones que realizaron en la api el jueves y viernes, cambian detalles como ese, pero la idea sigue siendo la misma, por eso explique paso a paso pexpect para que cada quien pueda crear su código y arreglarlo en caso de que no funcione.

Paco Garcia · Hace 3 años

Ja, ja,... no hay nada que perdonar Villak!!! Lo he puesto aquí para evitar un poco "investigación" a los que lean tu artículo y por aportar algo aunque sea poco, je,je.. Muchas graicas de nuevo.

[ V i L l A k] · Hace 3 años

Vale muchas gracias por tu aporte Paco

[ V i L l A k] · Hace 3 años

Hola, omití un pequeño detalle en mi post, si descargaron la api de Telegram después del jueves 13 de Marzo, tendremos que cambiar la linea pexpect.spawn('./telegram -k tg.pub') por esta pexpect.spawn('./telegram -k tg-server.pub') , es por las ultimas actualizaciones que le han echo a la api, estaré al pendiente si veo que hay mucho que modificar are otro post.

Deja un comentario