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()