1

Yowsup is a Whatsapp API. I have installed it on my computer but I cannot find the command to register my phone in it. I have tried Googling it but all the commands I found were for older versions of Yowsup which have been changed now. Any tutorial or documentation explaining the same would be appreciated.

I tried the command mentioned in the answer below but I got the following error:

Traceback (most recent call last):
  File "/usr/local/bin/yowsup-cli", line 4, in <module>
    __import__('pkg_resources').run_script('yowsup2==2.4.48', 'yowsup-cli')
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 735, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1659, in run_script
    exec(script_code, namespace, namespace)
  File "/usr/local/lib/python2.7/dist-packages/yowsup2-2.4.48-py2.7.egg/EGG-INFO/scripts/yowsup-cli", line 323, in <module>

  File "/usr/local/lib/python2.7/dist-packages/yowsup2-2.4.48-py2.7.egg/EGG-INFO/scripts/yowsup-cli", line 158, in process

  File "/usr/local/lib/python2.7/dist-packages/yowsup2-2.4.48-py2.7.egg/EGG-INFO/scripts/yowsup-cli", line 176, in handleRequestCode

  File "build/bdist.linux-x86_64/egg/yowsup/registration/coderequest.py", line 46, in send
  File "build/bdist.linux-x86_64/egg/yowsup/common/http/warequest.py", line 73, in send
  File "build/bdist.linux-x86_64/egg/yowsup/common/http/warequest.py", line 111, in sendGetRequest
  File "build/bdist.linux-x86_64/egg/yowsup/common/http/warequest.py", line 167, in sendRequest
  File "/usr/lib/python2.7/httplib.py", line 1052, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1092, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 1048, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 892, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 854, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 1273, in connect
    server_hostname=server_hostname)
  File "/usr/lib/python2.7/ssl.py", line 352, in wrap_socket
    _context=self)
  File "/usr/lib/python2.7/ssl.py", line 579, in __init__
    self.do_handshake()
  File "/usr/lib/python2.7/ssl.py", line 808, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:590)

Any ideas how to solve it?

2 Answers2

1

Now password (PW) is replaced with the client_static_keypair. Copy it from CLI and paste to your config file instead of a password with key "client_static_keypair".

The exception text helped me to find it out: "Setting a password in Config is deprecated and not used anymore. client_static_keypair is used instead"

asachet
  • 6,620
  • 2
  • 30
  • 74
0

In the github you can found the exact command to register your phone number. I have installed last version (v2.4.48) of yowsup and it works as described in the documentation.

yowsup-cli registration --requestcode sms --phone 34XXXXXXXX --cc 34 --mcc 123 --mnc 456

Where mcc and mnc codes can be found in internet, for example for spain in the wikipedia are all needed codes.

You will receive something like:

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

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

This will sent you the SMS code needed for registration. Check your mobile phone for any new SMS and you will see a code such as 123-456.

With this code, you can now register your whatsapp:

yowsup-cli registration --register 123-456 --phone 34XXXXXXXX --cc 34 --mcc 123 --mnc 456

And you will receive the confirmation in your output:

INFO:yowsup.common.http.warequest:{"status":"ok","login":"49XXXXXXX","type":"existing","pw":"****************","expiration":55555555555.0,"kind":"free","price":"0,89 \u20ac","cost":"0.89","currency":"EUR","price_expiration":1461485976}

status: ok
kind: free
pw: **********************
price: 0,89 €
price_expiration: 1461485976
currency: EUR
cost: 0.89
expiration: 55555555555.0
login: 34XXXXXXXX
type: existing

Copy your password in a config file like yowsup.config:

cc=34
phone=34XXXXXXXX
password=**********************

And then you can execute yowsup with this command (for echo demo example):

yowsup-cli demos -c yowsup.config -e
King Midas
  • 1,442
  • 4
  • 29
  • 50
  • I think that you can ignore the price message. Now whatsapp is free, but this message is not changed. – King Midas Mar 24 '16 at 10:10
  • I tried that, but I got an error, the details of which are mentioned as an edit in the question. –  Mar 30 '16 at 13:14
  • Last update of whatsapp server has caused version 2.4.48 to stop working. Until yesterday, only the code in the repository was working. But you are lucky, just now (1st of April) they have release a new version of Yowsup. I have not tested it yet, but with Python 2.7 must work. – King Midas Apr 01 '16 at 07:20
  • I am getting a status: fail and reason: format_wrong – sureshvv Dec 23 '20 at 13:25