Exemple #1
0
def message_consumer(message):
    try:
        content = message.content['text']
        data = json.loads(content)
        if data['type'] == 'send_message':
            data = data['data']
            receiver = uuid.UUID(data['receiver'])
            receiver = Account.objects.get(id=receiver)
            channel = ActiveChannel.objects.filter(owner=receiver)
            if channel.exists():
                channel = Channel(channel.get().name)
                channel.send({
                    'text':
                    json.dumps({
                        'type': 'received_message',
                        'data': {
                            'sender': message.channel_session['owner'],
                            'message_type': data['message_type'],
                            'content': data['content'],
                        },
                    })
                })
            else:
                PendingMessage(receiver=receiver,
                               payload=data['content'].encode()).save()
    except:
        traceback.print_exc()