Merge remote-tracking branch 'nicos/yowsup-2' into yowsup-2

This commit is contained in:
Steffen Vogel 2017-10-29 16:29:23 +01:00
commit 269dbdc12d
5 changed files with 341 additions and 186 deletions

View file

@ -89,6 +89,7 @@ message Room {
message RoomList {
repeated string room = 1;
repeated string name = 2;
optional string user = 3;
}
enum ParticipantFlag {
@ -111,6 +112,7 @@ message Participant {
optional string statusMessage = 6;
optional string newname = 7;
optional string iconHash = 8;
optional string alias = 9;
}
message VCard {
@ -152,6 +154,10 @@ message BackendConfig {
required string config = 1;
}
message APIVersion {
required int32 version = 1;
}
message WrapperMessage {
enum Type {
TYPE_CONNECTED = 1;
@ -188,8 +194,10 @@ message WrapperMessage {
TYPE_CONV_MESSAGE_ACK = 33;
TYPE_RAW_XML = 34;
TYPE_BUDDIES = 35;
TYPE_API_VERSION = 36;
}
required Type type = 1;
optional bytes payload = 2;
}
;

File diff suppressed because one or more lines are too long

View file

@ -320,6 +320,7 @@ class Session(YowsupApp):
self.logger.debug('Received %s message: %s' % (type, media))
buddy = media._from.split('@')[0]
participant = media.participant
caption = ''
if media.isEncrypted():
self.logger.debug('Received encrypted media message')
@ -336,18 +337,22 @@ class Session(YowsupApp):
else:
url = media.url
if type == 'image':
caption = media.caption
if participant is not None: # Group message
partname = participant.split('@')[0]
if media._from.split('@')[1] == 'broadcast': # Broadcast message
self.sendMessageToXMPP(partname, self.broadcast_prefix, media.timestamp)
self.sendMessageToXMPP(partname, url, media.timestamp)
self.sendMessageToXMPP(partname, media.caption, media.timestamp)
self.sendMessageToXMPP(partname, caption, media.timestamp)
else: # Group message
self.sendGroupMessageToXMPP(buddy, partname, url, media.timestamp)
self.sendGroupMessageToXMPP(buddy, partname, media.caption, media.timestamp)
self.sendGroupMessageToXMPP(buddy, partname, caption, media.timestamp)
else:
self.sendMessageToXMPP(buddy, url, media.timestamp)
self.sendMessageToXMPP(buddy, media.caption, media.timestamp)
self.sendMessageToXMPP(buddy, caption, media.timestamp)
self.sendReceipt(media._id, media._from, None, media.participant)
self.recvMsgIDs.append((media._id, media._from, media.participant, media.timestamp))

View file

@ -101,8 +101,8 @@ plugin.handleBackendConfig({
],
})
while True:
def main():
while True:
try:
asyncore.loop(timeout=1.0, count=10, use_poll = True)
try:

View file

@ -55,6 +55,7 @@ from yowsup.layers.protocol_chatstate import YowChatstateProtocolLayer
from yowsup.layers.protocol_privacy import YowPrivacyProtocolLayer
from yowsup.layers.protocol_profiles import YowProfilesProtocolLayer
from yowsup.layers.protocol_calls import YowCallsProtocolLayer
from yowsup.layers.axolotl.props import PROP_IDENTITY_AUTOTRUST
# ProtocolEntities
from yowsup.layers.protocol_acks.protocolentities import *
@ -130,6 +131,7 @@ class YowsupApp(object):
"""
self.stack.setProp(YowAuthenticationProtocolLayer.PROP_CREDENTIALS,
(username, password))
self.stack.setProp(PROP_IDENTITY_AUTOTRUST, True)
# self.stack.setProp(YowIqProtocolLayer.PROP_PING_INTERVAL, 5)
try: