Envía mensajes por Telegram de manera automática


Utiliza este ‘script’ en PHP para GNU/Linux para automatizar el envío de mensajes vía Telegram. Telegram es una alternativa seria a WhatsApp.


Envía mensajes por Telegram de manera automática

¿Qué es Telegram?
Es la última aplicación de moda para los teléfonos móviles. Equivalente a WhatsApp, pero más segura y con ventajas claras para el usuario como el poder enviar archivos de cualquier tipo y tamaño hasta 1 GB. El uso del programa está creciendo a nivel mundial a un ritmo increible (http://www.movilzona.es/) y se están creando muchas expectativas a su alrededor. Además, el programa cliente es Software Libre y permite instalarse en cualquier ordenador o crear otros programas o servicios que utilicen la red de intercambio de mensajes.

Para los programadores también existe una aplicación cliente para la línea de comandos. El problema es que poder automatizar el envío de mensajes desde el ordenador al teléfono no está implementado en el programa. Con el truco que voy a mostrar a continuación podrás enviar un mensaje de texto de manera muy sencilla, símplemente ejecutando un ‘script’.

1) Lo primero es descargar e instalar el programa cliente (En un GNU/Linux):

Para descargar el último código fuente disponible:

git clone https://github.com/vysheng/tg

2) Compilar el programa:

./configure
make

Nota:
Revisa las dependencias de compilación en los comentarios de la página del proyecto en Github (https://github.com/vysheng/tg)

3) Configuración inicial del programa:

Desde el directorio de compilación (no hace falta instalarlo para usarlo):

./telegram

Nota:
Te pedirá el número de teléfono (no olvides poner el prefijo internacional. Por ejemplo: +34 para España), el nombre de usuario y el código de activación que te enviarán por SMS al teléfono que has escrito. Conviene, por tanto, que el número no sea inventado.
 
Este proceso creará el los archivos de configuración en el directorio del usuario ~/.telegram

4) Hacer una prueba manual:

Ejecuta el programa ‘./telegram’ desde la línea de comandos y envía un mensaje a mano para comprobar que todo funciona correctamente.

El comando que tienes que usar es:

msg <NOMBRE_USUARIO_TELEGRAM> <MENSAJE>

Si el mensaje se envía bien entonces puedes continuar con el siguiente paso para esta acción.

5) Creando el ‘script’ en PHP:

El ‘script’ lo voy a crear en el mismo directorio donde está Telegram con el nombre ‘send.php’. El contenido es el siguiente:
<?php

$user = “NOMBRE_USUARIO_TELEGRAM”;
$msg = $argv[1];

$msg = str_replace(“‘”, “\\’”, $msg); /// Permite el envio de apostrofe (‘)
$msg = str_replace(“\””, “\\\\\””, $msg); /// Permite el envio de comillas dobles escapadas (\”)

$commandsExpect = “set timeout -1
set outfile /dev/stdout
spawn telegram -k tg.pub
match_max 100000
expect \”User\”
send \”msg ” . $user . ” ” . $msg . “\\n\”
expect \”Sent\”
send \”quit\”
“;

/// Usar system para ver en pantalla lo que hace.
exec(“echo $’” . $commandsExpect . “‘ | expect -“, $output, $return_var);

if ($return_var != 0) {
echo “Algo ha ido mal.\n”;
} else {
echo “Mensaje enviado correctamente.\n”;
} // end if

return $return_var;

?>

6) Uso:

php send.php “Hola caracola”

Lo que hace el ‘script’ es crear un nuevo proceso donde se ejecuta el programa ‘expect’. Este programa, mediante su propio lenguaje, permite interactuar con cualquier otro programa porque se conecta a STDIN (entrada de teclado) y STDOUT (salida a pantalla) del programa que ejecuta. Gracias a esta funcionalidad, se puede leer y procesar lo que el programa hace y mandar comandos como si los escribiéramos por teclado.

7) Inconvenientes que le he encontrado:

A) Para que los mensajes aparezcan como enviados por otro usuario tienes que tener dos números de teléfono, uno configurado para el programa de PC (el ‘script’) y otro para el teléfono móvil. Si se configura el mismo usuario en los dos programas entonces los mensajes llegan desde tu propio usuario y no salta la notificación de llegada de nuevo mensaje (estaría bien que esto lo pudieran solucionar los desarrolladores de Telegram).
B) Telegram es un poco lento repartiéndo los mensajes así que si tardan un poco en llegar no es por culpa del ‘script’.
C) Por ahora el ‘script’ sólo permite el envío de mensajes de texto en una sóla línea.

Artículo patrocinado por Todo-Redes:

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=2664 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.