Tutorial Raspberry Pi - Uso de Telegram desde la terminal

Tutorial Raspberry Pi - Uso de Telegram desde la terminal

telegramraspberryHola, tras la recién adquisición de Facebook, se ha difundido el temor del cambio en el rumbo del servicio acostumbrado de WhatsApp. Afortunadamente la dependencia de este servicio está siendo cubierta por novedosas aplicaciones como lo es Telegram. Por suerte la página nos ofrece versiones no oficiales que podemos instalar en diferentes sistemas operativos.

Instalación Para instalar en Raspbian ejecutamos desde la terminal:
git clone https://github.com/vysheng/tg.git && cd tg
telgram1 Después de haber clonado el repositorio de GitHub instalamos lo siguiente:
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev
Ejecutamos el archivo de configuración y copilamos el programa:
./configure
make
telegram2   telegram3 ¡ A ponerlo en marcha! Para ejecutar el programa simplemente debemos ejecutar en la terminal:
./telegram -k tg.pub
telegrama4
Nota: Como primera vez la aplicación nos pide nuestro numero telefónico incluyendo el signo + y el área del país. Después  si aún no estamos registrados nos preguntará si queremos registrarnos, pedirá nuestro nombre y apellido. Posteriormente enviará un código de verificación a nuestro celular.

Comandos compatibles

Ejecutando el comando help, nos muestra un listado de todos los comandos que admite, sus parámetros y para qué sirve cada uno de ellos. telegram5

Mensajería

  • msg <contacto> texto - envía un mensaje.
  • chat_with_peer <contacto> comienza una en una sesión de chat con este contacto. / Salida o / quit para finalizar con este modo.
  • add_contact <phone-number> <first-name> <last-name> - intenta agregar el contacto a contacto-lista por teléfono.
  • rename_contact <usuario> <first-name> <last-name> - intenta cambiar el nombre de contacto.
  • mark_read <contacto> - marca como leídos todos los mensajes con el contacto.

Multimedia

  • send_photo <contacto> <photo-file-name> - envía la foto.
  • send_video <contacto> <video-file-name> - envía vídeo.
  • send_text <contacto> <text-file-name> - envía un archivo de texto en forma de mensajes sin formato.
  • load_photo / load_video / load_video_thumb <msg-seqno> - cargas de foto / vídeo para descargar.
  • view_photo / view_video / view_video_thumb <msg-seqno> - carga de fotos / video para descargar y empieza visor predeterminado del sistema.

Opciones de chat de grupo

  • chat_info <chat> - imprime información sobre el chat.
  • chat_add_user <chat> <usuario> - añadir un usuario para chatear.
  • chat_del_user <chat> <usuario> - eliminar usuario de chat.
  • rename_chat <chat> <new-name>

Búsqueda

  • buscar <contacto> patrón - patrón de búsquedas en los mensajes con los compañeros.
  • global_search patrón - patrón busca en todos los mensajes.

Charla Secret

  • create_secret_chat <usuario> - crea charla secreta con este usuario.
  • visualize_key <secret_chat> - impresiones de visualización de la clave de cifrado.

Estadísticas y varios info

  • USER_INFO <usuario> - imprime información sobre el usuario.
  • history <contacto> [límite] - historia impresiones (y la marca como leído). Límite predeterminado = 40.
  • dialog_list - imprime información acerca de sus diálogos.
  • contact_list - imprime información acerca de los usuarios en su lista de contactos.
  • suggested_contacts - información impresa acerca de los contactos.
  • show_license - imprime el contenido de GPLv2.
  • help - imprime esta ayuda.

Ejemplo:

Para crear una conversación con algún contacto basta con ejecutar telegram y teclear el comando chat_with_peer <contacto> , se habré un chat interactivo. Para poder salir simplemente ejecutamos /exit

telegram8   telegram9  

En este ejemplo usé Telegram desde mi ordenador y desde la Raspberry Pi. Otra ventaja de esta aplicación es que te permite registrar varios dispositivos e incluso chatear entre ellos sin ningún problema con un sólo número telefónico.

Para mandar una imagen es igual de sencillo. Sólo ejecutamos el comando send_photo <contacto> <ruta del la foto> y enseguida se empezará a cargar la imagen o foto. telegram10   telegram11

Estoy buscando la manera de poder ejecutarlo desde Python para poder hacerlo interactivo con los pines de la Raspberry Pi pero por el momento es muy agradable chatear desde nuestra terminal de la Raspbian.

¡Un saludo desde México y suerte en sus proyectos!

28 comentarios


daniel posso · Hace 8 meses

hola saludos y gracias por el aporte tengo un problema y es cuando ejecuto el ./configure todo va bien hasta que llega a esta linea de verificacion y me sale el siguiente error no se alguien sepa como solucionarlo checking for json_array_set_new in -ljansson... no configure: error: No libjansson found. Try --disable-json muchas gracias

Vicente · Hace 23 días

trata sudo apt-get install libjansson-dev

Juan · Hace 3 meses

Hola, yo estoy con el mismo problema, llego a ese punto y no puedo hacer "make"

alberts · Hace 1 año

cuando lanzo root@raspberrypi:/home/pi/tg# bin/telegram-cli -k tg-server.pub -W sale este error: for use in the OpenSSL Toolkit. (http://www.openssl.org/) I: config dir=[/root/.telegram-cli] > telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0' failed. SIGNAL received

Matías Ignacio · Hace 1 año

Hola, muy buen tutorial, me sirve un montón para un proyecto que estoy realizando para la universidad y se agradece bastante. Pero tengo una pregunta: al ejecutar por primera vez pide el número de teléfono y envía el código de confirmación y todo eso. Luego, ¿cómo cierro la sesión en la Raspberry Pi para poder ingresar con otro número y enviar mensajes, fotos, etc desde la terminal? Gracias de antemano.

Anton Mironov · Hace 2 años

You can use our REST API for Telegram at http://jaconda.im It is much easier to use, because we take care of stability and deliverability of your messages. Just create an account with Jaconda, and you will be able to send and receive messages over HTTP.

Guillermo · Hace 2 años

Viendo las posibilidades de esto se me ocurrió que quizás estaría bien poder enviar de forma segura cualquier comando a mi raspberry (o a cualquier servidor Linux) desde telegram y obtener la salida. Incluso crear alias de comandos para no tener que escribir demasiado, gestionar usuarios que puedan hacer lo mismo sobre la misma maquina para que cualquiera no pueda hacer lo que le de la gana... etc Me he puesto a ello y hoy he publicado 'Obedience'. Si alguien quiere trastear y probarlo, adelante https://github.com/GuillermoPena/obedience

PetBANG · Hace 2 años

Hola, para todos los que tenéis problemas con las nuevas instalaciones probad lo siguiente: sudo apt-get update sudo apt-get upgrade git clone https://github.com/vysheng/tg.git --recursive && cd tg sudo apt-get install libreadline-dev libconfig-dev libevent-dev libssl-dev lua5.2 liblua5.2-dev sudo ./configure sudo make bin/telegram-cli -k tg-server.pub --> ejecutamos *probado en raspbian, como nueva instalación y si os da error borrar la carpeta "tg" y volved a clonar carpeta.

theBOSS · Hace 2 años

La solución a la instalación es simple: 1º Clonar el repositorio: git clone --recursive https://github.com/vysheng/tg.git && cd tg 2º Instalar dependencias: sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev 3º Compilar: ./configure && make

Nacho Cobreros · Hace 2 años

Buenas, he seguido el tutorial, este y mil mas... pero no ha habido forma de compilarlo. El ./configure, pero al hacer make se queda en ./objs/auto/auto.o -o objs/auto/auto.o auto/auto.c A alguien mas le pasa?? He probado mil veces, pero no se que mas hacer.

DENNYEL · Hace 2 años

buen dia, amigo tenes que tener paciencia. en auto.c se demora un poco, sin envargo instalaste el paquete libevent-dev?? este es necesario en la nueva version, en ./configure deberia salir, falta paquete libevent, asi que digitas "sudo apt-get install libevent-dev", y losto en auto.c se demora algo asi como 1 o 2 min, saludos

soyelkorn · Hace 2 años

Hola, buen día, yo he tenido el mismo problema, he seguido el tutorial, y me falla en el make, ya hice el tutorial en una raspberry pi, en una pc con ubuntu 14.01 LTS y en una UDOO con ubuntu 12.04 y el resultado sigue siendo el mismo, falla en el make, aun cuando instalé el paquete libevent-dev. El comando ./configure sale completo sin problemas, pero el make termina muy rápido y al ejecutar ./telegram tengo el mismo resultado que Dany en el mensaje de abajo que puso hace 2 meses. Supongo que algo está ocurriendo con la nueva versión de Telegram ya que me parece raro que tarde tan poco tiempo ejecutando el comando make, cuando antes tardaba un tiempo considerable. Anteriormente yo ya había seguido el tutorial de Villak en varias ovaciones con muy buenos resultados, pero cambie mi tarjeta SD normal por una de clase 10 para obtener mas rapidez principalmente en la UDOO y al tratar de configurar de nuevo todo me encontré con este detalle. Ojalá entre todos podamos encontrar una solucion

Dany · Hace 2 años

Buenos dia! he seguido el tutorial y a la hora de arrancar telegram me sale.... pi@raspberrypi ~/tg $ ./telegram -k tg.pub -bash: ./telegram: No existe el fichero o el directorio pi@raspberrypi ~/tg $ y si lo hago por el otro comando lo mismo pi@raspberrypi ~/tg $ ./telegram -k tg-server.pub -bash: ./telegram: No existe el fichero o el directorio pi@raspberrypi ~/tg $ no se cual puede ser el fallo.. muchas gracias por el tutorial.

Alex · Hace 2 años

Al enviarme un mensaje a mí mismo, no me llega notificación al móvil. Sólo sale el mensaje si me meto en la aplicación

Lucho · Hace 2 años

Hola. Lo pudiste solucionar? Me pasa lo mismo.

Mikel · Hace 2 años

Habéis logrado que suene cuando te envías un mensaje a ti mismo?

tuerca · Hace 2 años

Hola, un tutorial muy currado, yo estoy intentando dos cosas pero no se porque motivo no lo consigo, primera que un script que vigila una variable, cuando se cumpla la condicion por flanco positivo mande un telegram, y dos hacer lo mismo si alguien activa un botón via web. Si ejecuto un script de llamada a telegram desde su carpeta (tg) funciona, pero si llamo al script desde otra carpeta distinta no funciona. Un saludo y gracias!!!

Dani · Hace 3 años

Muy bueno el tutorial, pero quise cambiar a otro numero de telefono y no encontre como hacerlo, intente borrar la carpeta ts y nada, despues no pedia el nuevo numero. Alguna solucion? Gracias!

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

Hola DANI, perdona por tardar tanto, hay unas carpetas ocultas que se generan borrarlas y tu problema estará resuelto. empiezan con "." su nombre.

RaspiRa · Hace 3 años

Hola a todos, tengo un problema, he seguido los pasos que vienen en el tutorial pero a la hora de ejecutarlo me dice *** Couldn´t open public key file: tg.pub rsa_load_public_key: No such file or directory. Que puedo hacer? Muchisimas gracias

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

Perdona por la tardanza no había visto tu comentario, ejecútalo de la siguiente manera: ./telegram -k tg-server.pub Saludos espero no sea muy tarde...

Rick · Hace 3 años

A mi de esa forma no me funcionó, pero haciendo lo que dice el usuario stillru en https://github.com/vysheng/tg/issues/148 ya está funcionando a las mil maravillas

RaspiRa · Hace 3 años

Funcionó, muchisimas gracias! Saludos desde España

Francisco · Hace 3 años

Que tal ? Siempre que paso con el tutorial telegram via python.. jalo? seria muy util ojala que haya funcionado y nos lo puedas compartir.. Gracias

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

Si de echo lleva casi un mes posteado revisa la seccion de tutoriales de Raspberry pi gala a la perfeccion....

TELGRAM POR PYTHON EN RASOBERRY PI | Geeky Theory · Hace 3 años

[…] que nada tenemos que instalar Telegram messenger CLI como lo explique en mi tutorial […]

kokokolo · Hace 3 años

Supongo que lo habrás sacado de aqui: http://www.raspberrypihelp.net/tutorials/51-telegram-for-raspberry-pi Procura citar las fuentes si las usas

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

No el tutorial es completamente mio no me base en ninguno, solo en la librería que menciono https://github.com/vysheng/tg, es donde viene la mayoría de la información, el resto fue por experiencia propia. y si cito las fuentes cuando las uso. Pero gracias por el comentario.

kinti · Hace 3 años

Aquí teneies un tutorial para enviar Whatsapps desde php con nuestra raspberry pi e implementarlo en nuestra web. http://tutorialesraspberry.blogspot.com/

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

Que bien amigo esto abre un sin fin de posibilidades solo que tenemos que probar a ver si aun no esta bloqueado WhatsApp, ya que ase poco ya no se podía acceder por YOWSUP o cualquier otra librería, incluso WhatsApp ordeno retirar los repositorios sino procedería de forma legal contra los autores.

Francisco · Hace 3 años

Que tal VILLAK, cuando tendrás el tutorial?, sería interesante manipular el envio de mensajería vía Pyhton.

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

Hoy a mas tardar lo mando a revisión pro nose cuando lo publiquen

Roderis ortega · Hace 3 años

Muy. Buena página me gustaría aprender a usar telegran desde php agradezco el apoyo q nos puedas dar

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

Estoy preparando un tutorial sobre como usarlo con python ojala te pueda servir pues php puede interactuar con python

Paco Garcia · Hace 3 años

Si funcionara bien, pondría a Telegram en clara ventaja sobre Whatshapp, je, je...

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

Si de echo ya es bastante claro que es superior a WhatsApp por el código abierto que maneja desde la pagina oficial.

pain_in:the_xss · Hace 3 años

Se me ocurre que para poder ejecutar comandos desde el terminal se puede utilizar la funcionalidad "Here documents" de bash (ver 'man bash'). Sería algo así: $ ./telegram -k tg.pub <<EOF send_photo contacto image.jpg exit (NOTA: no encuentro el comando para salir de la aplicación, he supuesto que será 'exit' ;) EOF

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

podría servir, en un par de días ya tendré el tutorial para poder hacerlo ya sea desde Python o PHP, puede que después incursione en esta alternativa que mencionas amigo.

Raul · Hace 3 años

Yo también estoy investigando sobre esto desde hace muy poco, estaría interesado en saber como acceder a la api de telegram desde Python o php para después trastear con eso... Tienes el manual listo o aunque sea en borrador para ayudar a situarme un poco? Muchas gracias

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

no aun no, tuve mucho trabajo esta semana y no he podido amigo espérame y a finales de esta semana te paso el borrador o posteo el tutorial.

Mario Pérez Esteso · Hace 3 años

Pues si conseguís hacerlo con Python o PHP, por favor, decid cómo en un tutorial o algo así porque yo también lo estoy intentando para utilizarlo en un proyecto.

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

Con mucho gusto Mario, deja hago mas pruebas y en un par de días subo el tutorial de como hacerlo con python.

Angel · Hace 3 años

Hola, he estado buscando por ahi, y he encontrado esto: http://bulma.net/body.phtml?nIdNoticia=2664 lo he probado, pero me da errores... A ver si podemos hacerlo funcionar ;) Saludos. P.D. Enhorabuena por tu site, me gusta mucho!

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

Gracias Angel en cuanto tenga tiempo checo ese otro método que mencionas vale.

Paco Garcia · Hace 3 años

Muy buena explicación VILLAK!!! y muchas gracias por compartirla. Yo también llevo semanas buscando la forma de poder enviar/recibir mensajes mediante Telegram usando un script o incluso mejor todavía PHP para usarlo en un entorno web. Hay que seguir investigando... Gracias de nuevo y mucho ánimo!!!

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

Hola y muchas gracias por tus ánimos, de echo el jueves por la madrugada logre hacerlo funcionar mediante Python, lo que abre el uso a PHP mediante python y por ende desde un servidor web, en un par de días are el tutorial a detalle.

ussy · Hace 3 años

Hola que tal.. como hago para ver una foro o un archivo recibidos desde la terminal. Me pide el pero no logro encontrarlo. Saludos

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

este es el comando de agregar contacto no se porque no se ve bien en mi comentario pasado add_contact phone-number first-name last-name

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

Hola, simple amigo una vez ejecutado el Telegram, ejecuta este comando view_photo , con este comando descarga la imagen y la muestra en el programa predeterminado del sistema. para saber cual es el ID, manda un mensaje y al enviarse dice Sent: id= 178, a ese numero le restas uno por cada mensaje enviado o recibido hasta llegar a el ID de la foto. encontraras las descargas en una carpeta oculta en mi caso "/home/pi/.telegram/downloads". Prueba cualquier duda pregunta, suerte.

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

view_photo IDmensaje este es el comando.

ORG · Hace 3 años

Gracias por el tutorial, sin embargo tengo un problema a la hora de utilizar el cliente. Al escribir msg Usuario texto o iniciar un chat siempre me aparece Bad user/chat id... Alguna idea de porque? Gracias un saludo!

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

Hola, tal vez no estés ingresando el nombre del usuario bien se ingresa de esta forma chat_with_peer Luis_Villa, para iniciar una conversación. Antes debiste de haber registrado tu contacto add_contact el nombre del contacto debe ser en formato internacional con el "+"

dalmemail · Hace 3 años

Hola! En cuanto me compre una camara en condiciones hago el video de este tutorial! como el que hice de whatsapp en pi! Buen post!

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

Muchas gracias amigo, seria todo un gusto, ami no se me da bien hablar cuando me graban.

Mario Pérez Esteso · Hace 3 años

Enhorabuena Luis por el tutorial. Muy completo y claramente explicado. Siguiendo la línea de Geeky Theory :)

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

Gracias Mario, aunque tardo casi una semana en revisión jaja pero gracias por permitir pastear mis tutoriales y gracias a todos los de Geeky Theory por tan buena pagina.

alexcorvis · Hace 3 años

Te me adelantaste Luis! Justo el otro día estuve probando con la apliación cliente bajo Linux de Telegram. Y conseguí esto mismo que explicas. Pero mi idea es utilizarla bajo un script para poder mandarme notificaciones a mi propio móvil cuando se ejecute alguna condición (ejemplo: detección de movimiento mediante sensor PIR, cuando un sensor de temperatura alcance cierto valor.....ya sabes....notificaciones relacionadas con algo conectado al GPIO). ¿Cómo crees que podría integrarla bajo un script en python? Me gustaría investigar sobre ello....así que a ver si me puedes ayudar! Un saludo!

Jose Linares · Hace 3 años

Hola, he escrito un tutorial en mi blog explicando como utilizar este cliente CLI sin utilizar el prompt: http://jose-linares.com/usar-y-automatizar-telegram-desde-terminal-en-linux/ Os puede servir para simplemente redireccionar ciertas salidas y que se envíen al teléfono a través de Telegram

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

Si de echo llevo días intentando lo que planteas pero no se como hacerlo, he probado bastantes cosas en python pero ninguna funciona sin embargo tengo una una idea muy alocada usando PHP, hay que ponernos a ello y sacar un buen tutorial juntos.

Ricardo Guerrero (@ricgu8086) · Hace 3 años

Esta opción podría estar muy interesante para lo que queréis (queremos) hacer https://github.com/efaisal/pytg/ A ver si el proximo fin de semana me lo empollo en condiciones y lo llevo a la práctica. De momento ya he hecho algunas cosas chulas con el otro tutorial que habéis colgado ;-) https://twitter.com/ricgu8086/status/470172769494532096

alexcorvis · Hace 3 años

Vale...me auto-respondo...ya veo que estás investigando lo mismo! :) A ver si entre los 2 lo conseguimos! Salu2!!!

Mario Pérez Esteso · Hace 3 años

Lo "malo" para lo que estáis pensando es que realmente no son órdenes desde terminal como las de toda la vida, sino que es entrar en un programa. A ver si sacáis algo interesante.

alexcorvis · Hace 3 años

Claro, ahí reside el problema. Lo que no sé es si se podrá ejecutar el programa al inicio para que actué como un servicio en segundo plano y se puedan ejecutar las órdenes desde terminal....Va a estar complicado para mis conocimientos! Pero a ver si conseguimos algo! :)

bruno · Hace 3 años

como hago para desinstalarlo o removerlo, intente con sudo make uninstall y nada, si me pueden ayudar les agradeceria

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

Solo elimina el repositorio y la carpeta oculta que se crea donde se guarda las imágenes que mandas

bruno · Hace 3 años

Muchas gracias villak la verdad que esta pagina es muy completa y me encanto, mi consulta es la siguiente, si yo realizo un make no cambia la configuracion o se crean otros archivos fuera de esa carpeta?

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

Gracias, si los administradores hacen bien su trabajo, depende del make, pero en caso de Telegram lo que observe es que solo se genera el directorio oculto .Telegram y se hace un programa ejecutable.

dolphin · Hace 3 años

Muy interesante lo que proponéis, yo aun no he podido trastear mucho con la Raspberry, pero también me interesa el tema. Y digo yo, ¿qué tal comunicarse directamente con la API de Telegram sin necesidad de intermediarios (el programa en cuestión en este caso)? No he mirado la API de Telegram pero seguro es accesible públicamente. Saludos

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

Es complicado comunicarse directamente con la API, aunque TELEGRAM pone a nuestra disposición el código fuente para usarlo hay que copilarlo y usarlo desde la terminal. Asi que para ejecutarlo debemos de simular que lo estamos ejecutando de esa manera en algún otro programa y así podríamos hacer que según el evento programado se comunique con nosotros.

Mario Pérez Esteso · Hace 3 años

El objetivo es aprender. ¡De ahí hasta donde quieras!

Deja un comentario