Ejemplo n.º 1
0
def send_message(sid, event_data):
    with controlled_execution():
        user_id = connected_sid_user_id[sid]
        print('send_message', user_id)
        contact = Contact.get(event_data['chatroom_id'])

        message = Message(contact_id=contact.id, content=event_data['content'], from_user_id=user_id)
        message.save()
        message = Message.get(message.id)
        message_tosend = message.client_message()

        for sid_for_author in connected_user_id_sids[user_id]:
            sio.emit('general_notification', {
                'new_message': message_tosend
            }, sid_for_author)

        another_user_to_notify_unread = contact.user1_id if contact.user2_id == user_id else contact.user2_id
        unread = get_unread(another_user_to_notify_unread, [contact.id])
        for sid_for_receiver in connected_user_id_sids[another_user_to_notify_unread]:
            sio.emit('general_notification', {
                'new_message': message_tosend,
                'unread': unread
            }, sid_for_receiver)

        return {'ok': True, 'message_id': message.id}
Ejemplo n.º 2
0
def send_message(sid, event_data):
    log('send_message', sid, event_data)
    with controlled_execution():
        user_id = connected_sid_user_id[sid]
        log('send_message', user_id)
        contact = Contact.get(event_data['chatroom_id'])

        message = Message(contact_id=contact.id,
                          content=event_data['content'],
                          from_user_id=user_id)
        message.save()
        message = Message.get(message.id)
        message_tosend = message.client_message()

        for sid_for_author in connected_user_id_sids[user_id]:
            sio.emit('general_notification', {'new_message': message_tosend},
                     sid_for_author)

        another_user_to_notify_unread = contact.user1_id if contact.user2_id == user_id else contact.user2_id
        unread = get_unread(another_user_to_notify_unread, [contact.id])
        for sid_for_receiver in connected_user_id_sids[
                another_user_to_notify_unread]:
            sio.emit('general_notification', {
                'new_message': message_tosend,
                'unread': unread
            }, sid_for_receiver)

        return {'ok': True, 'message_id': message.id}