Whatsapp (Yowsup) en la Raspberry Pi

Es posible mandar y recibir Whastapps en una Raspberry Pi. Para ello emplearemos el programa Yowsup.

En primer lugar, instalaremos las siguientes librerías, que son necesarias para que funcione Yowsup:

sudo apt-get install python-dateutil python-pip
sudo pip install python-axolotl

(Este último tarda, pero es necesario para que funcione la última versión de yowsup).
A continuación descargamos la librería Yowsup de GitHub:

cd ~
git clone git://github.com/tgalal/yowsup.git

(Lo descargamos en la carpeta home del usuario, o donde queramos)

Registramos el número en Whatsapp

Aquí está el quid de la cuestión. Para poder enviar Whatsapp es necesario asociar nuestra “cuenta” a un número de teléfono móvil (no vale fijo). Si empleamos nuestro número de móvil no podremos usar Whatsapp en ese móvil, así que cuidado con qué número asociais. Además, tiene que ser un número en el que podáis recibir un SMS o una llamada en el momento del registro (después, nunca más…)

Hasta hace unos meses, había una compañía en España que se llamaba Fonyou que te daba una línea de teléfono “virtual” que se redirigía a tu móvil. Pero dejó de operar.

 

 

Primero hay que solicitar el código:

cd ~/yowsup
python yowsup-cli registration -p 34666354324 -C 34 -m 214 -n 07 -r sms

El número de teléfono (tras -p) debe llevar el código del país delante, pero sin 00 ni +, sólo el código. En mi caso, que vivo en España, 34. Tras -C hay que poner el código del país, nuevamente sin 00 ni + delante. Tras -m y -n hy que poner el Mobile Country Code (MCC) y el Mobile Network Code, que podemos consultar en esta página de la Wikipedia. En mi caso (Movistar) son 214 y 07, respectivamente. Tras -r podemos escoger cómo queremos recibir el código de registro, si por sms o por llamada (voice). La llamada es automática, con voz femenina y en inglés; repite el código hasta el infinito (aunque no dice que hay un guión entre medias).

Saldrá lo siguiente:

INFO:yowsup.common.http.warequest:{"status":"sent","length":6,"method":"sms","retry_after":1805}

status: sent
retry_after: 1805
length: 6
method: sms

 

Tras unos minutillos (paciencia), llegará un código, como por ejemplo: 488-970. Con este código hacemos el registro, con casi el mismo comando de antes, pero cambiando el final e introduciendo el código recibido:

python yowsup-cli registration -p 34666354324 -C 34 -m 214 -n 07 <strong>-R 488-970</strong>

Aparece lo siguiente:

pi@pigorra1 ~/yowsup $ python yowsup-cli registration -p 34666354324 -C 34 -m 214 -n 07 -R 488-970
INFO:yowsup.common.http.warequest:{"status":"ok","login":"34666354324","pw":"EVen6FsZpzprEJJI1Sk9RFvZsz8=","type":"new","expiration":1458505212,"kind":"free","price":"0,89 \u20ac","cost":"0.89","currency":"EUR","price_expiration":1429949417}

status: ok
kind: free
pw: <strong>EVen6FsZpzprEJJI1345RFvZsz8=</strong>
price: 0,89 €
price_expiration: 1429949417
currency: EUR
cost: 0.89
expiration: 1458505212
login: 34666354324
type: new

¡Ya estamos registrados, y ya debería funcionar yowsup!

Ahora vamos a crear el fichero de configuración, con la contraseña recibida:

nano /home/pi/yowsup/yowsup.config

Con el siguiente contenido:

cc=34
phone=34666354324
password=EVen6FsZpzprgdfgJI1Sk9RFvZsz8=

Guardamos y salimos (Ctrl+x, S, enter).

Mandar un whatsapp desde la línea de comando

Para mandar un whatsapp, podemos hacerlo así:

python yowsup-cli demos -c /home/pi/yowsup/yowsup.config -s 34666666666 "Hola, mundo"

Tras la -s va el número de teléfono al que queremos mandar el mwnsaje. Es imprescindible que vaya con el código del país delante, sin 00 ni +. También podemos enviar el mensaje sin pasar por el fichero de configuración, directamente así:

python yowsup-cli demos -l 34666354324:EVen6FsZpzprEJJI1Sk9RFvZsz8= -s 34666666666 "Hola, mundo"
python yowsup-cli demos -l 34666823398:SZQHAegfjH32saYXed1jrjhYEOQ= -s 34666666666 "Hola, mundo"

Mandar whatsapps con Python

En realidad, es más versatil en enviar whatsapp empleando las librerías en Python, que nos darán muchas más posibilidades, como enviar imágenes, etc. El problema es que la documentación de yowsup es muy mala, y casi es mejor estudiarse las propias librerías. Cuidado con las pruebas y errores, pues cuando Whatsapp detecta que se está haciendo uso erróneo, cancela al usuario…

Referencias

Deja un comentario

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