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