1c0ae79ec2
In the previous implementation join_room was called on all groups immediately after the user was authenticated. When a user joined a group, join_room will be called again. This was incorrect behaviour and confused spectrum. There was no truncation error, thus _shortenGroupId and _lengthenGroupId have edited to be a no-op (and should be removed in the next commit). The correct behavoiur is to only call join_room in whatsappbackend.py:handleRoomJoined, however the user may do this before the groups have been loaded, in which case those requests must be added to a queue. The bot informs the user of all the groups the user has joined and when the user is added to a new group. |
||
---|---|---|
conf | ||
Spectrum2 | ||
.gitignore | ||
bot.py | ||
buddy.py | ||
constants.py.sample | ||
COPYING.gpl3 | ||
group.py | ||
reader.py | ||
README.md | ||
session.py | ||
transwhat.py | ||
utils.py | ||
whatsappbackend.py | ||
yowsupwrapper.py |
transWhat
transWhat is a WhatsApp XMPP Gateway based on Spectrum 2 and Yowsup 2.
Dependencies
Python packages
pip install e4u protobuf mysql dateutil
- e4u: is a simple emoji4unicode python bindings
- yowsup: is a python library that enables you build application which use WhatsApp service.
- mysqldb: MySQL client python bindings
Spectrum 2
is a XMPP transport
Manual compile latest version from https://github.com/hanzz/libtransport.
Contributors
Pull requests, bug reports etc. are welcome. Help us to provide a open implementation of the WhatsApp protocol.
The following persons have contributed major parts of this code:
- Steffen Vogel (@stv0g): Idea and initial implementation based on Yowsup 1
- Mohammed Yaseen Mowzer (@moyamo): Port to Yowsup 2
Documentation
A project wiki is available here.
An outdated writeup of this project is also availabe at my blog.