[Tutorial] Whatsapp desde OpenWrt

Autor: raphik Hace unos días leí por primera vez acerca de Yowsup. Yowsup es una librería escrita en Python por el egipcio Tarek Galal. Esta librería permite iniciar sesión y utilizar el servicio de Whatsapp, poniendo a disposición del programador todas las capacidades de un cliente oficial de Whatsapp. Afortunadamente para los no programadores, Yowsup se distribuye con yowsup-cli, una aplicación que permite conectarse y utilizar el servicio Whatsapp directamente desde la línea de comandos.

Python es un lenguaje interpretado de programación de código abierto creado por el holandés Guido van Rossum.

Dicho esto, nos ponemos manos a la obra.

INSTALACIÓN DE PYTHON, PYTHON-OPENSSL Y DEL MÓDULO DATEUTIL.

1. Instalar Python con soporte para acceso seguro a sitios HTTPS. Desde un terminal de OpenWrt,
Code:
opkg update opkg install python python-openssl
2. Instalar el módulo dateutil.
2.1. Primero hay que descargar en el PC el fichero python-dateutil-1.0.tar.bz2 de la página http://labix.org/python-dateutil. Es posible que funcione con otras versiones posteriores, pero ésta es la que yo he probado y va bien.
2.2 Descomprimir el fichero en el PC.
2.3 Copiar la carpeta descomprimida “python-dateutil-1.0” en el router.
2.4. Desde un terminal de OpenWrt, situarse en la carpeta python-dateutil-1.0 del router y ejecutar
Code:
python setup.py install


INSTALACIÓN DE YOWSUP.

1. Descargar en el PC el fichero comprimido yowsup-master.zip de la página https://github.com/tgalal/yowsup (botón Download ZIP).

2. Descomprimir el fichero en el PC.

3. Copiar la carpeta descomprimida “yowsup-master” en el router.


CONFIGURACIÓN.

1. Situarse en la carpeta del router yowsup-master/src

2. Editar el fichero config.example y dejarlo así (sustituye “miteléfono” por tu número de móvil)
Code:
cc= 34 phone= 34miteléfono id= password=

3. Teclear el comando 
Code:
python yowsup-cli -c config.example –requestcode sms
En unos segundos llega al móvil un SMS con un código con formato XXX-XXX. Si prefieres recibir un mensaje de voz, teclea
python yowsup-cli -c config.example –requestcode voice.

4. Teclear el comando (sustituir XXX-XXX por el código recién recibido)
Code:
python yowsup-cli -c config.example –register XXX-XXX
Whatsapp genera y envía al router una contraseña (línea pw:). Copiarlo manualmente en el fichero config.example
Code:
cc= 34 phone= 34miteléfono id= password= contraseña


ENVÍO DE MENSAJES WHATSAPP.

Para enviar un mensaje al teléfono 34123456789 (sustituir por un número real con el prefijo del país)
Code:
python yowsup-cli -c config.example -s 34123456789 “Mensaje de prueba”


SESIÓN INTERACTIVA.
Para iniciar una conversación interactiva con el teléfono 34123456789, teclear
Code:
python yowsup-cli -c config.example -i 34123456789

PARA TERMINAR.
Añadir que, según su autor, Yowsup pone al alcance del programador Python todas las características de Whatsapp:
• Registro
• Envío y recepción de mensajes de texto
• Envío y recepción multimedia (imágenes, vídeos, audio, localización, tarjetas de visita)
• Grupos (crear, abandonar, unirse, actualizar foto, actualizar asunto)
• Visualizar fotos y estados de otros usuarios
• Establecer la foto y el estado de tu perfil
• Cambiar el icono del grupo
• Y algunas cosillas más…
Documentación de la librería (en inglés) aquí.