Introducción
A continuación se describen los pasos necesarios para construír, configurar y utilizar la herramienta de línea de comando para enviar mensajes a través del servicio de mensajería móvil Telegram.
Para que esta aplicación pueda funcionar correctamente será necesario que previamente haya sido creado el usuario en Telegram, es decir, que el usuario haya utilizado el servicio desde un dispositivo móvil con el número telefónico que utilizará posteriormente para identificarse.
Construcción
Instalar los prerequisitos para la construcción de la aplicación de línea de comando.
$ sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev
Obtener la distribución mas reciente del código fuente de la aplicación.
$ git clone https://github.com/vysheng/tg.git && cd tg
Compilar y enlazar la aplicación.
$ ./configure $ make
Instalación
Ubicar la llave pública del servicio en su ubicación por defecto.
$ sudo mkdir /etc/telegram/ $ sudo cp tg-server.pub /etc/telegram/server.pub $ sudo chmod 644 /etc/telegram/server.pub
Ubicar el binario de la aplicación en una ruta conocida dentro del PATH.
$ sudo cp telegram /usr/bin $ sudo chmod 755 /usr/bin/telegram
Uso
Si se siguieron los pasos establecidos anteriormente ubicando la llave pública del servicio bajo /etc/telegram.
$ telegram
De lo contrario, si se decide utilizar una ubicación diferente se deberá especficar la llave pública del servicio con el parámetro -k del comando telegram cada vez que se vaya a ejecutar.
$ telegram -k /ruta/tg-server.pub
Configuración inicial
La primera vez que se ejecuta la aplicación para un usuario específico es necesario configurarla para asociarle la cuenta de Telegram que utilizará.
Para esto se deben realizar los siguientes pasos.
- Especificar el número de teléfono móvil de la forma: +Código del País Teléfono.
- Especificar el código enviado por Telegram a ese número telefónico a través de SMS.
Enviar un mensaje
Listar los contactos disponibles.
> contact_list User #XXXXXXXX: Pepito Pimenton (Pepito_Pimenton 573012345678) offline. Was online [2014/05/12 01:47:42] ...
Para enviar un mensaje se debe utilizar el comando msg con al siguiente sintáxis.
msg <peer> Text
El destinatario (o peer) corresponde con el nombre del contacto reemplazando sus espacios por guíones bajos: Pepito Pimenton -> Pepito_Pimenton. Por ejemplo.
> msg Pepito_Pimenton "Hola Mundo"
Sugerencia! Utilice la tecla TAB para autocompletar los comandos de telegram o los nombres de los contactos.
Comandos soportados
Messaging
- msg <peer> Text – sends message to this peer
- fwd <user> <msg-seqno> – forward message to user. You can see message numbers starting client with -N
- chat_with_peer <peer> starts one on one chat session with this peer. /exit or /quit to end this mode.
- add_contact <phone-number> <first-name> <last-name> – tries to add contact to contact-list by phone
- rename_contact <user> <first-name> <last-name> – tries to rename contact. If you have another device it will be a fight
- mark_read <peer> – mark read all received messages with peer
Multimedia
- send_photo <peer> <photo-file-name> – sends photo to peer
- send_video <peer> <video-file-name> – sends video to peer
- send_text <peer> <text-file-name> – sends text file as plain messages
- load_photo/load_video/load_video_thumb <msg-seqno> – loads photo/video to download dir
- view_photo/view_video/view_video_thumb <msg-seqno> – loads photo/video to download dir and starts system default viewer
Group chat options
- chat_info <chat> – prints info about chat
- chat_add_user <chat> <user> – add user to chat
- chat_del_user <chat> <user> – remove user from chat
- rename_chat <chat> <new-name>
- create_group_chat <user> <chat topic> – creates a groupchat with user, use
- chat_add_user to add more users
Search
- search <peer> pattern – searches pattern in messages with peer
- global_search pattern – searches pattern in all messages
Secret chat
- create_secret_chat <user> – creates secret chat with this user
- visualize_key <secret_chat> – prints visualization of encryption key. You should compare it to your partner’s one
Stats and various info
- user_info <user> – prints info about user
- history <peer> [limit] – prints history (and marks it as read). Default limit = 40
- dialog_list – prints info about your dialogs
- contact_list – prints info about users in your contact list
- suggested_contacts – print info about contacts, you have max common friends
- stats – just for debugging
- show_license – prints contents of GPLv2
- help – prints this help
Exit the application
- quit
- safe_quit
Recursos
- Telegram messenger CLI
https://github.com/vysheng/tg - Using Telegram API
https://core.telegram.org/api - MTProto Mobile Protocol
https://core.telegram.org/mtproto - Telegram (el servicio)
https://telegram.org/ - Telegram’s Frequently Asked Questions
https://telegram.org/faq
Hola solo comentar gracias por tus posts, me sirvieron muy bien.
aclarar que para compilarlo tuve que hacer
git clone –recursive https://github.com/vysheng/tg.git && cd tg
como pone en su readme
https://github.com/vysheng/tg/blob/master/README.md
ya que sino me lanza un error en el make 😉
sobre
make: * No rule to make target ‘tgl/scheme.tl’, needed by ‘auto/scheme.tl’. Stop.
saludos.
y tambien la ruta “telegram” por “bin/telegram-cli”
saludos.
por si quieres actualizar el post.
saludos.
This is not working any more:
$ git clone https://github.com/vysheng/tg.git && cd tg
Now you need to use:
$ git clone –recursive https://github.com/vysheng/tg.git && cd tg
Hola, lo primero muy buenos los tutoriales sobre Telegram-cli y Transmission. Me han ayudado mucho a montar el sistema de avisos que “siempre desee”.
Pero (siempre lo hay… jejejeje). En el móvil no se despliegan las notificaciones porque las considera leídas por la aplicación cliente de linux (telegram-cli). ¿Conoces alguna opción de este cliente para dejar estas notificaciones, desactivar la lectura de los mensajes en el cliente.
Muchas gracias, por tu paciencia y por compartir tus conocimientos.
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
Como podria cambiar el numero de telefono de usuario una vez iniciada la aplicación?
Obviamente no recibo notificaciones en mi dispositivo si tengo que hablar conmigo mismo.
PiHero, aunque supongo que ya lo habrás solucionado, la única manera que conozco de cambiar el número de teléfono es borrando el directorio oculto .telegram en el home del usuario con el que has instalado telegram-cli y volver a instalar desde cero para activar la cuenta cliente con el número de teléfono que te interese.