Esempio n. 1
0
async def join_group(p: Profile, g: Group, sender: AbstractMessageSender):
    members = await g.get_members()

    await g.user_join(p.ident)
    await p.set_prop(PROFILE_GROUP_KEY, g.ident)

    tr = await p.get_translator()

    message = tr.myg_notification_joined_group(p.get_username())
    send_message_to_group_members(members, message, sender)
Esempio n. 2
0
async def leave_group(p: Profile, g: Group, sender: AbstractMessageSender):
    await g.user_leave(p.ident)
    await p.del_prop(PROFILE_GROUP_KEY)

    tr = await p.get_translator()

    members = await g.get_members()
    if members:
        message = tr.myg_notification_left_group(p.get_username())
        send_message_to_group_members(members, message, sender)
    else:
        await g.remove()