WhatsApp with BitlBee

It's dead

The libpurple plugin is no longer developed and doesn't connect anymore. Just use whatsapp web or an android emulator or something.

The rest of this page contains outdated information.

Since many people seem to be interested in using whatsapp with bitlbee, here's a rough briefly tested summary of how to get it working. Please send reports of success or any issues to #bitlbee.

Native plugin

In the near future it will be possible to write BitlBee plugins in languages other than C, through an RPC layer. This is still under development in the parson branch. One of the first plugins is a WhatsApp module which is based on the Yowsup library (written in Python). It should be in good enough shape for other people to try out in the near future.

Requirements

Caveats

Registration

You need to get a password to connect. This password is not the IMEI as you might have read (it was, a few years ago), but you need to extract it somehow from a running whatsapp client, or create a new one. At the time of this writing it doesn't seem possible to sniff it, so, alternatives:

If you succeed at this step, congratulations. Try not to get too desperate if it goes wrong, you might end up with a huge cooldown period. Check the issue trackers of the relevant tool to see if other people have the same issue, as the registration tokens might have changed.

An example of creating an account

Putting it all together

The next step is to get whatsapp-purple working in bitlbee.

Notes

adding Contacts in irssi/bitlbee using trigger.pl (prior v3.4)

(There is no need for a workaround as of bitlbee version 3.4, which does keep a contact list.) This is a very quick and dirty (not to say security flawed) workaround for adding contacts via trigger.pl and a separate contacts file (work still in progress, cleanup/rewrite more than welcome!). Trigger will be the successful whatsapp log-in as displayed in the control channel output by 'root':

One could just as well create a trigger for each individual contact and avoid using "-command exec …" like:

/trigger add -publics -tags 'bitlbee' -channels '&bitlbee' -masks 'root' -pattern 'whatsapp - Logging in: Logged in' -command 'add whatsapp 1234567890 fancypants'
/trigger add -publics -tags 'bitlbee' -channels '&bitlbee' -masks 'root' -pattern 'whatsapp - Logging in: Logged in' -command 'add whatsapp 0123456789 buddy'
/trigger add -publics -tags 'bitlbee' -channels '&bitlbee' -masks 'root' -pattern 'whatsapp - Logging in: Logged in' -command 'add whatsapp 9012345678 mother'
/trigger save

BitlBee Wiki: HowtoWhatsapp (last edited 2016-08-05 18:37:36 by dx)