diff --git a/fbchat/graphql.py b/fbchat/graphql.py index 821cdb4..fa51870 100644 --- a/fbchat/graphql.py +++ b/fbchat/graphql.py @@ -119,21 +119,11 @@ def graphql_to_group(group): ) def graphql_to_room(room): - if room.get('image') is None: - room['image'] = {} - c_info = get_customization_info(room) return Room( - room['thread_key']['thread_fbid'], - participants=set([node['messaging_actor']['id'] for node in room['all_participants']['nodes']]), - nicknames=c_info.get('nicknames'), - color=c_info.get('color'), - emoji=c_info.get('emoji'), - photo=room['image'].get('uri'), - name=room.get('name'), - message_count=room.get('messages_count'), + **vars(graphql_to_group(room)), admins = set([node.get('id') for node in room.get('thread_admins')]), approval_mode = bool(room.get('approval_mode')), - approval_requests = set([node.get('id') for node in room['thread_queue_metatdata'].get('approval_requests')), + approval_requests = set(node.get('id') for node in room['thread_queue_metatdata'].get('approval_requests')), join_link = room['joinable_mode'].get('link'), privacy_mode = bool(room.get('privacy_mode')), ) diff --git a/fbchat/models.py b/fbchat/models.py index 613629f..d7024cb 100644 --- a/fbchat/models.py +++ b/fbchat/models.py @@ -121,11 +121,15 @@ class Room(Group): # True is room is not discoverable privacy_mode = bool - def __init__(self, uid, admins=set(), approval_mode=None, approval_requests=set(), join_link=None, privacy_mode=None, **kwargs): + def __init__(self, uid, admins=None, approval_mode=None, approval_requests=None, join_link=None, privacy_mode=None, **kwargs): """Represents a Facebook room. Inherits `Group`""" super(Room, self).__init__(ThreadType.ROOM, uid, **kwargs) + if admins is None: + admins = set() self.admins = admins self.approval_mode = approval_mode + if approval_requests is None: + approval_requests = set() self.approval_requests = approval_requests self.join_link = join_link self.privacy_mode = privacy_mode