miércoles, 13 de marzo de 2013

Whatsapp desde nuestra Raspberry


Vamos a instalar una pequeña utilidad que seguro, os interesa, y en un futuro, nos puede ayudar a programar avisos.

Envío de whatsapp desde nuestra raspberry.

Lo primero es instalarlo con un número de teléfono que NO utilicemos, yo lo he creado con mi segunda línea de Movistar, si no tienes una segunda línea para este propósito, lo más sencillo es crear un número en Fon You

Una vez que tenemos nuestro número:

1.- Como siempre, si no tenemos instalado git, lo instalamos:

  • sudo apt-get install git
2.- Bajamos el git de yowsup:

  • git clone git://github.com/tgalal/yowsup.git
3.- Nos metemos en el directorio src:
  • cd ruta_donde_lo hayamos_bajado/yowsup/src
4.- Editamos el fichero config.example:
  • nano config.example
  • Lo dejamos de la siguiente manera (sustituimos donde pone numerotelefono por nuestro número, importante el 34 delante):
    • cc= 34
    • phone=34numerotelefono
    • id=
    • password=
  • Guardamos y salimos.
5.-  Una vez guardado, nos aseguramos que estamos posicionados en el directorio src, (ruta_donde_lo hayamos_bajado/yowsup/src) y lanzamos el siguiente comando:
  • python yowsup-cli -c config.example --requestcode sms
    • Esto provoca que se os envíe un SMS al número que habéis puesto en el fichero config.example con el código de activación del whatsapp.
6.- Cuando hayamos recibido el código lanzamos desde la misma ruta este comando (sustituimos CODIGO por el código que os ha llegado por SMS) os devolverá una cadena larga:
  • python yowsup-cli -c config.example --register CODIGO
7.- Modificamos el fichero config.example (punto 4) y ponemos el password que nos ha devuelto el comando anterior en password=xxxxxxxxxxxxxxxx

8.- Listo! Simplemente, para mandar whatsapps, tendremos que ejecutar lo siguiente:
  • python yowsup-cli -c config.example -s 34numeroalquequeremosmandar "hola esto es una prueba"









15 comentarios:

  1. Me da un problema cuando intento Registrar el numero:


    pi@raspberrypi ~/Desktop/yowsup-master/src $ python yowsup-cli -c config.example --requestcode sms
    Traceback (most recent call last):
    File "yowsup-cli", line 33, in
    from Examples.CmdClient import WhatsappCmdClient
    File "/home/pi/Desktop/yowsup-master/src/Examples/CmdClient.py", line 21, in
    from Yowsup.connectionmanager import YowsupConnectionManager
    File "/home/pi/Desktop/yowsup-master/src/Yowsup/connectionmanager.py", line 28, in
    from Yowsup.Common.watime import WATime
    File "/home/pi/Desktop/yowsup-master/src/Yowsup/Common/watime.py", line 26, in
    from .dateutil import tz
    ImportError: No module named dateutil


    Y el Archivo Config.example lo tengo asin:

    ## Actual config starts below ##

    cc= 34
    phone=34668872810
    id=
    password=

    Aver si me podeis echar una mano gracias de antemano

    ResponderEliminar
    Respuestas
    1. Tienes que instalar python-dateutil con sudo apt-get install python-dateutil.

      Eliminar
  2. Hola me da auth failed siguiendo las instrucciones del tutorial , sabeis si continua el servicio operativo

    ResponderEliminar
  3. Hola.
    Ahora el problema es que cuando hago : python yowsup-cli -c config.example --requestcode sms , pone que se ha enviado el mensaje a whatsaap , pero whatsapp no me envia el codigo de activacion al numero que le tengo puesto.
    ¿Alguna solucion?
    Muchas gracias de antemano

    ResponderEliminar
  4. Buenas Diego,

    No me he encontrado con este problema, lo siento. ¿Te sigue sin llegar?

    ResponderEliminar
  5. No me llega y he comprobao el numero y todo bien no se la verdad de que sera el fallo

    ResponderEliminar
  6. Hola JoseMa.
    Tras instalar python-dateutil tuve el siguiente problema a la hora de registrar el código para passwd:

    python yowsup-cli -c config.example --register 123-456
    Traceback (most recent call last):
    File "yowsup-cli", line 290, in
    print(resultToString(result))
    UnicodeEncodeError: 'latin-1' codec can't encode character u'\u20ac' in position 67: ordinal not in range(256)

    Lo resolví añadiendo una print(result) en la línea 290. Al menos me mostró el resultado y pude obtener el pw.
    Funciona genial!.
    Gracias por compartir!, ya tengo otra ventanita abierta para trastear con la raspi y los arduinos....
    Saludos.

    ResponderEliminar
  7. hola gran aporte, pero tengo un problema solo me envia los mensajes si estoy en `pi@raspberry ~/yowsup/src $ y ejecuto el comando, pero si estoy en la rais en pi@raspberry ~$ y ejecuto python yowsup-cli -c config.example -s 34622222222 "Mensaje" me da este error: python: can't open file 'yowsup-cli': [Errno 2] No such file or directory

    ResponderEliminar
  8. Esto solo funciona para España? porque lo he probado en otro país y nada.

    ResponderEliminar
  9. No recibo el código ni por metodo de SMS ni de voz.

    De cualquier forma muchas gracias por compartir!

    Saludos desde México.

    ResponderEliminar
    Respuestas
    1. Prueba aquí y obtendrás el código!
      http://whitesoft.dyndns.org:2222/whatsapp_sms
      +52[10números]

      Eliminar
  10. al ejecutar python yowsup-cli -c config.example --register xxxxxx me sale el siguiente error status fail reason stale

    ResponderEliminar
  11. Hey disculpen un poco la pregunta pero si mi móvil no tiene Whatsapp (soy pobre), a donde llegan los mensajes que me envíen?

    ResponderEliminar