miércoles, 9 de abril de 2008

AutoHotKey, usos y ejemplos (3): enviar mensajes de texto (sms) de Movilnet

Esta es la tercera parte de la serie de artículos sobre el AutoHotkey. En la primera parte vimos algunos de los ejemplos más sencillos de sustitución de textos y arranque de aplicaciones. En la segunda parte vimos casos un poco más elaborados de automatización de aplicaciones. Ahora vamos a ver un ejemplo de aplicaciones con el AutoHotkey.

Aplicación para enviar mensajes de texto de Movilnet

Hace algún tiempo estuve jugando un poco con el código del sitio web de Movilnet, buscando una manera de enviar mensajes sin tener que pasar por la web (que me parece un poco sobrecargada y lenta). Luego de hacer algunas cosas con el AutoHotkey supe que este sería la herramienta ideal para hacer una pequeña aplicación, como la que yo quería, para enviar sms. La idea era sencilla: escribir un mensaje (sin importar cuan largo fuera), escoger uno o más destinatarios de una lista, y que la aplicación se encargara de dividir el mensaje en las partes necesarias y enviarlas a cada uno de los destinatarios seleccionados.

Y eso fue exactamente lo que hice. Y mucho más fácilmente de lo que me imaginé que sería, gracias a algunas de las maravillas del AutoHotkey. Cuando vi esta herramienta por primera vez, pensé que tendría un conjunto de comandos reducido, ideales para manejar casos sencillos como los que ya hemos visto (abrir aplicaciones, presionar teclas, etc.). Pero leyendo la documentación me encontré con una lista inmensa de comandos e instrucciones. Es un lenguaje de programación bastante completo, muy bien adaptado a todos los eventos y objetos del sistema operativo (Windows), y con todas las herramientas que se esperarían de un lenguaje de programación (como ciclos, operadores, manejo de archivos, controles para interfaz, etc.).

Pueden descargar el código de la aplicación aquí (Por supuesto, si tienes correcciones o mejoras que hacerle, me gustaría escucharlas). Si no les interesa el código completo, o instalar el AutoHotkey, también pueden descargar el ejecutable de la aplicación. Porque el AutoHotkey también tiene un compilador, y genera unos ejecutables bastante pequeños, considerando que no requiere tener instalado el AutoHotkey para ejecutarlos, o librerías externas de ningún tipo.

Agenda de destinatarios

La aplicación requiere la existencia de un archivo de texto (Agenda.txt) con la lista de los destinatarios (nombres y teléfonos) en un formato como el siguiente:

Jesús Dugarte, 04261111111
Pedro Perez, 04262222222
Juan Gonzalez, 04163333333
Maria Garcia, 04264444444

La ubicación, y nombre, de este archivo de contactos se indica al principio del programa. Los códigos de área (0416, 0426) deben indicarse completos, como aparecen en el ejemplo.

Uso de la aplicación

Yo ejecuto la aplicación con una tecla rápida, como las que vimos en los artículos anteriores:

#X::Run "C:\Movilnet\Movilnet.ahk"

La web de Movilnet usa un código de verificación para los envíos de los mensajes sms. Así que, lamentablemente, hay que ingresar ese código por cada uno de los mensajes que se envían. Al principio no estaba seguro de que la aplicación fuese realmente útil, dada la molestia del código de seguridad. Pero, un poco por curiosidad (y un poco más por necedad) la hice y la he estado usando ya por un par de meses, y no me ha parecido que el código de seguridad sea demasiada molestia, o que sobrepase las ventajas de usar la aplicación.

Diariamente uso ambos, el teléfono y la aplicación, dependiendo de lo que necesite hacer. Si sólo necesito responder un "Ok" a un mensaje que me envíen, por supuesto que es más rápido hacerlo desde el teléfono. Pero si quiero escribir un mensaje más largo, o no sé muy bien que voy a enviar(es más fácil dudar y corregir frente al teclado del computador que en el teclado del teléfono), o quiero enviarlo a varias personas (también es más rápido seleccionar personas de la lista de la aplicación que en el teléfono), prefiero usar la aplicación. También la uso, por supuesto, en situaciones más mundanas como falta de batería o de saldo ;-)

Conclusión

Lo que más me gusta del AutoHotkey es que me ahorra tiempo, y me evita repeticiones innecesarias y errores, en áreas o tareas donde incluso ni me imaginaba que se podía. Luego de intentar diferentes tipos de herramientas de automatización en Windows (lenguajes de secuencias de comandos, herramientas de sustitución de textos, de asignación de teclas rápidas, etc.), encontré en él una de las herramientas de productividad más importantes que he encontrado. Definitivamente requiere al menos una base de conocimiento de programación, pero también es cierto que se pueden encontrar en internet muchas soluciones ya hechas para casos comunes (como algunos de lo que mostré en la primera parte de esta serie) y otros no tan comunes (como el que vimos aquí y en el artículo anterior).

Espero que les sea de utilidad esta información. Y si tienen alguna solución interesante hecha con el AutoHotkey, también me encantaría escucharla.

ACTUALIZACIÓN (04/08/2009): Si habían descargado en las últimas semanas la aplicación para SMS de Movilnet quizás no les haya funcionado: la web de Movilnet cambió la dirección del servicio. Acabo de subir una actualización del código (y el ejecutable) de la aplicación, con la dirección corregida

5 comentarios:

Jesús A. Dugarte dijo...

Baje el ejecutable y cree un archivo Agenda.txt en la carpeta donde lo guarde con las características que dices, pero cuando ejecuto la aplicación no me trae nada del archivo. Como lo direcciono al txt?

Jesús dijo...

Que bueno que lo preguntas, porque olvidé mencionarlo en el artículo. Ese ejecutable ya tiene compilado una ubicación fija (C:\Movilnet\Agenga.txt). Puedes usar esa versión compilada, con esa ubicación, o descargar el código fuente, descargar el AutoHotkey y 1) modificarlo según tus preferencias, o 2) recompilarlo a otra ubicación más conveniente para ti.

FRANKLIN T PERDOMO VILLEGAS dijo...

buen dia amigo, resulta que me parecio super interesante eso de no aplicar el codigo de seguridad, pero en mi caso, me lleva a la web donde aparece el codigo y tengo que introducirlo, que estre haciendo mal? buen aporte!...

Jesús dijo...

Franklin, como digo en el artículo, lamentablemente hay que ingresar ese código de seguridad por cada uno de los mensajes que se envían

Anónimo dijo...

Buen dia señor JESUS.

Mi pregunta es como atrasar por 10 segundos la activacion de una tecla(numero 5) despues de una aplicacion.

ATT: Humberto Trujillo

Colombia-Cartagena de indias