нужна помощь с EchoClient от yowsup-cli ... необходимо передать голосовое аудио / аудио мультимедиа обратно пользователю, но понятия не имею, как обрабатывать медиа-сообщения. Вот мой код, надеюсь, вы можете помочь мне:
from yowsup.layers.interface import YowInterfaceLayer, ProtocolEntityCallback
from yowsup.layers.protocol_messages.protocolentities import TextMessageProtocolEntity
from yowsup.layers.protocol_receipts.protocolentities import OutgoingReceiptProtocolEntity
from yowsup.layers.protocol_acks.protocolentities import OutgoingAckProtocolEntity
class EchoLayer(YowInterfaceLayer):
@ProtocolEntityCallback("message")
def onMessage(self, messageProtocolEntity):
if True:
receipt = OutgoingReceiptProtocolEntity(messageProtocolEntity.getId(), messageProtocolEntity.getFrom(), 'read', messageProtocolEntity.getParticipant())
type = messageProtocolEntity.getType();
if type == "text":
print (messageProtocolEntity.getFrom())
print (messageProtocolEntity.getBody()+"\n");
print (messageProtocolEntity.getType()+"\n");
outgoingMessageProtocolEntity = TextMessageProtocolEntity( messageProtocolEntity.getBody(), to = messageProtocolEntity.getFrom())
self.toLower(receipt)
self.toLower(outgoingMessageProtocolEntity)
elif type == "media":
# VOICE MESSAGE SHOULD BE ECHOED BACK HERE (I THINK)
else:
print ("DEBUG RECEIVED TYPE: "+type+"\n");
@ProtocolEntityCallback("receipt")
def onReceipt(self, entity):
ack = OutgoingAckProtocolEntity(entity.getId(), "receipt", entity.getType(), entity.getFrom())
self.toLower(ack)´´´