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.
Getting started
I assume that you have a basic understanding of XMPP and the transport concept. transWhat is a XMPP transport. It is based on the Spectrum 2 XMPP transport framework and the Yowsup 2 library to interface with WhatsApp.
Before getting started, please make sure that you have a XMPP server running. I am using Prosody for this.
After this we have to install several dependencies:
Dependencies
Python packages
pip install --pre e4u protobuf mysql python-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
Manual compile latest version from Github. You can use the following guide: http://spectrum.im/documentation/installation/from_source_code.html.
Installation
git clone git@github.com:stv0g/transwhat.git
Configuration of Prosody
See http://prosody.im/doc/components.
Component "whatsapp.0l.de"
component_secret = "whatsappsucks"
component_ports = { 5221 }
component_interface = "127.0.0.1"
Configuration of Spectrum
Configuration of transWhat
First create a mySQL database named transwhat
and fill it with the schema provided in the repo.
Docker
In near future, there will be a Dockerfile for transWhat.
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.