Commit graph

85 commits

Author SHA1 Message Date
moyamo e32365a065 Send xhtml on group message to XMPP MUC 2016-01-06 16:57:17 +02:00
moyamo 5cd4442ddc Add better logging to onReceipt 2016-01-06 16:34:39 +02:00
moyamo 7ff39317cd Clean up \leave room code 2016-01-06 16:33:28 +02:00
moyamo 2d9ac3037e See https://github.com/stv0g/transwhat/issues/37 2016-01-05 15:46:32 +02:00
moyamo ee743ac327 Remove superfluous error messages and handle uncaught exceptions 2016-01-02 22:41:05 +02:00
moyamo ef04f49152 Move requestVCard to BuddyList and send image_hash of new contact 2016-01-02 22:39:42 +02:00
moyamo 0b4e2f13d4 Add call function to use for deferreds 2016-01-02 22:24:32 +02:00
moyamo 03e56a4c07 Add Deferreds 2016-01-02 22:24:32 +02:00
moyamo 5fb84bca4f Allow the user to request their own profile image 2016-01-02 22:24:32 +02:00
moyamo d4a0593874 Replay changes from c40d477667 excluding fae4c648e
fae4c648e was causing encoding errors. It's changes have been reverted.
2016-01-01 11:42:11 +02:00
moyamo 22cebef457 Revert upto c40d477667
Hard to find connection bugs are occuring. Reverting changes for now
2015-12-31 21:43:10 +02:00
moyamo bbf5a08697 Update nickname in groups if nickname is unset. 2015-12-30 09:46:39 +02:00
moyamo fae4c648ee Use unicode string literals 2015-12-29 21:46:29 +02:00
moyamo eba8d24a92 Rework groupchats to support sending private messages 2015-12-28 19:03:09 +02:00
moyamo 9434b1db6f Request contacts' statuses when user logs in 2015-12-14 20:14:20 +02:00
Steffen Vogel df773a9670 updated file headers 2015-12-03 13:53:21 +01:00
Steffen Vogel 75a0f310e3 removed transWhat config file (closes #23) 2015-12-03 13:49:44 +01:00
moyamo 17c8057db7 Remove all mention of MySQL database 2015-12-02 23:08:09 +02:00
moyamo 5a8874c9b9 Subscribe to presence only after user has logged in
Buddy.py would try to subscribe to presence before the user had logged
in to whatsapp. A loginQueue was added, so that functions could be
deferred to login.
2015-12-02 19:32:55 +02:00
moyamo 8385888e97 Minor bug fixes 2015-12-01 23:21:38 +02:00
moyamo 107354af81 Move updateRoster code to BuddyList 2015-12-01 21:57:53 +02:00
moyamo da8a415d32 Remove MySQL from Buddy.py 2015-12-01 21:33:02 +02:00
moyamo e111b0fcff If an image download fails, just send the link. 2015-11-29 17:08:59 +02:00
moyamo b34643a756 Handle a user leaving a group chat. 2015-11-29 16:32:33 +02:00
moyamo bd74021ca6 Typing \leave in a MUC will leave the group chat 2015-11-27 22:01:16 +02:00
moyamo 8e08efabc9 Notify user when a group message is sent to a group they have not yet joined
Before messages sent to groups the user had not joined were lost. Now
the message is sent via the bot to the user. The bot suggests that the
user join the group and also relays the contents of the message.
2015-11-23 17:07:18 +02:00
DaZZZl f269bf5be7 fix presence 2015-11-10 17:04:20 +01:00
DaZZZl bcd5e7e541 do not send messages on every login 2015-11-10 14:00:38 +01:00
root c5b42044b2 Merge branch 'groupchat-fix' of https://github.com/moyamo/transwhat into moyamo-groupchat-fix
Conflicts:
	Spectrum2/backend.py
	session.py
	yowsupwrapper.py
2015-11-10 13:24:40 +01:00
root 98b9487c7f send imgaes, locations, ...
fix presence
2015-11-09 23:09:12 +01:00
moyamo dbb66e0381 Prevent no caption in an image from crashing transwhat 2015-11-05 17:57:16 +02:00
moyamo 1c0ae79ec2 Fix join room, inform user of all groups, and new participants
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.
2015-10-26 19:27:35 +02:00
moyamo 744efd154f Use notify as buddies nickname when sending groupchats. 2015-10-09 18:45:17 +02:00
moyamo a5877bc1a9 Try to prevent transwhat from crashing on malformed protobuf 2015-10-09 18:45:17 +02:00
moyamo 29d92b456e Shorten the name of groupchats to overcome truncation bug
The names of groupchats are truncated internally to 22 characters.
This causes many problems with groupchats, since spectrum incorrectly
identifies the chat by the long name.

To overcome this the phoneNumber-unixTime is converted to hexadecimal,
to shorten the groupchat below 22 characters
2015-10-09 18:42:59 +02:00
moyamo ecfa2d7f85 Attempt to fix groupchats 2015-10-09 18:42:59 +02:00
moyamo f4e85f7689 Try to prevent transwhat from crashing on malformed protobuf 2015-09-21 21:45:18 +02:00
moyamo 7f1c9cd0db Shorten the name of groupchats to overcome truncation bug
The names of groupchats are truncated internally to 22 characters.
This causes many problems with groupchats, since spectrum incorrectly
identifies the chat by the long name.

To overcome this the phoneNumber-unixTime is converted to hexadecimal,
to shorten the groupchat below 22 characters
2015-09-21 20:30:11 +02:00
moyamo 6c12956dd6 Attempt to fix groupchats 2015-09-15 21:29:26 +02:00
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 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 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