Commit Graph

332 Commits

Author SHA1 Message Date
moyamo 646f45434b Crude implementation of groupchat 2015-09-06 14:06:16 +02:00
moyamo 4fd313e516 Download whatsapp profile pictures
Everytime the user requests a VCard the profile pictures are updated.
The sha1hash hash of the picture is calculated and stored in buddy.
2015-09-06 00:14:12 +02:00
moyamo d2efa0dd7b Fix status message 2015-09-05 22:22:30 +02:00
moyamo 4c365e3f81 Add receiveing of images, videos and sound files
When a whatsapp buddy sends an image, video or sound to the spectrum
user, the spectrum user will receive a URL that links to the media.

FileTranfer in spectrum is not working, apparently. Thus media cannot be
sent yet.
2015-09-05 22:05:34 +02:00
moyamo a6971ad889 Add workaround to prevent double messages
For some reason spectrum occasionally sends to identical messages to
a buddy, one to the bare jid and one to /bot. This causes duplicate
messages. Since it is unlikely a user wants to send the same message
twice, we should just ignore the second message.

This is only a work around, a proper fix should be implemented.
2015-09-05 11:39:34 +02:00
moyamo e43aeedd9d Add presence and chatstate
* Chatstate typing and typing stop is sent and received
 * Presence is received and presence is sent when user types
2015-09-03 20:04:29 +02:00
moyamo 67c5a7c951 Add presence updates and looping asyncore.loop()
Add functions to update presence and status

Make asyncore.loop() timeout after some time and call the functions in
the YowStack.__detachedQueue.
2015-09-02 17:04:49 +02:00
moyamo 48313c5475 Minor fixes 2015-08-30 22:18:03 +02:00
moyamo 47d52ae22c Use new-style classes and Session should call super.__init__ 2015-08-30 21:07:31 +02:00
moyamo 254465301b Make Session use YowsupApp instead of SpectrumLayer 2015-08-30 20:54:42 +02:00
moyamo 8cc3c85145 Add a yowsup wrapper to simplify the session.py code 2015-08-30 20:08:41 +02:00
moyamo c7afff2cf9 Add more protocol layers to the yowstack 2015-08-30 19:16:53 +02:00
moyamo 59754848a7 Enable Axolotl encryption as it is mandatory. 2015-08-29 22:01:44 +02:00
moyamo 2f73ed1a10 Send Acks and Receipts on receiving a message 2015-08-29 20:50:07 +02:00
moyamo f2cadb7492 Reconnect when disconnected from whatsapp 2015-06-21 21:24:36 +02:00
moyamo ba54217377 Send logs to logfile 2015-06-21 21:15:52 +02:00
moyamo f871ed664b Add PresenceProtocolEntity to YowStack 2015-06-21 19:05:28 +02:00
moyamo f0a19d1b6c Handle presence sent from whatsapp 2015-06-21 19:02:39 +02:00
moyamo af0150866d Add groups protocol layer 2015-06-21 18:20:09 +02:00
moyamo 85c320e24c Send presence requests 2015-06-21 17:16:04 +02:00
moyamo 8b6a12c798 Add YowIqProtocolLayer to prevent connection from timing out 2015-06-21 17:02:58 +02:00
moyamo 31bbab2ab1 Remove default layers, The logging layer causes problems 2015-06-21 16:59:09 +02:00
moyamo ebed803984 Use YowStackBuilder and the default stack 2015-06-21 16:44:20 +02:00
moyamo 926aa9a6c9 Send typing state updates 2015-06-21 16:31:01 +02:00
moyamo 6b1b714d3c Remove the domain from the buddy name before message is sent 2015-06-21 16:16:26 +02:00
moyamo 0c17a497ee Pass session into SpectrumLayer so that session specific things can be called 2015-06-21 16:11:43 +02:00
moyamo ce1bf5d35b Fix typo 2015-06-21 16:01:23 +02:00
moyamo 68f9ca43ea Add ability to receive whatsapp messages 2015-06-21 15:59:11 +02:00
moyamo 0fd33d38bb Add ability to send a message 2015-06-21 15:32:58 +02:00
moyamo e94aa383bf Remove redundent debug logs 2015-06-21 15:20:22 +02:00
moyamo 0ecc89d270 Catch TypeError thrown when password incorrectly formatted 2015-06-21 15:09:56 +02:00
moyamo 83f499b81d Set the yowsup PATH_STORAGE 2015-06-21 14:08:22 +02:00
moyamo 8d8711b586 Comment out google client 2015-06-21 13:40:15 +02:00
moyamo f40f077270 Comment out import contacts from Bot.py
This is interfering with testing.
2015-06-21 12:44:48 +02:00
moyamo 97c3aba3ec Session.call takes in kwargs instead of args 2015-02-27 19:30:18 +02:00
moyamo e9f40dbed9 Respond to presence updates 2015-02-27 19:24:57 +02:00
moyamo 99db6cce76 Disable googleclient
Google client is causing problems. Disable it for now.
2015-02-27 19:05:55 +02:00
moyamo a496e01967 Handle disconnect from Yowsup 2015-02-27 18:40:27 +02:00
moyamo c06bfac0a9 Add logging to IOChannel 2015-02-27 18:06:30 +02:00
moyamo 467cc80b0d Catch AuthError
When authentication fails, yowsup throws and AuthError.
2015-02-27 17:40:34 +02:00
moyamo 9e35017523 Fix bug 2015-02-27 17:35:32 +02:00
moyamo b651ba8c37 Stop Start-Event from propogating 2015-02-27 17:33:08 +02:00
moyamo 479efedc26 Add logger remove calls 2015-02-27 17:25:45 +02:00
moyamo 05525a8a3a Fix bugs 2015-02-27 17:13:48 +02:00
moyamo ae826b1341 Use YowLayerEvent instead of Prop
We cannot use Prop in the __init__ of a YowLayer, since Prop is
initialised only after all the YowLayers are initialized.

Instead, we send a YowLayerEvent containing the values.
2015-02-27 17:09:39 +02:00
moyamo 74a09ad07f Fix typo 2015-02-27 16:19:51 +02:00
moyamo 1ebf4e5cc9 Add SpectrumLayer to YowStack and handle Auth
Things that Session handled should be handled by a YowInterfaceLayer.
SpectrumLayer is such a layer. Paramaters that Session's __init__ is
passed into SpectrumLayer via Props.
2015-02-27 16:14:01 +02:00
moyamo 9fc0dc7333 Add logout event and disable call 2015-02-27 14:59:35 +02:00
moyamo 1878a30fb6 Authenticate user with legacyName and password
I forgot to send the legacyName with the password when authenticating.
2015-02-27 14:33:55 +02:00
moyamo 8dcc028548 Add Yowsup stack to session
Try to replace the old yowsup library by using a yowsup 2 stack.
2015-02-26 22:52:29 +02:00