def fetchThreadList(
        self, offset=None, limit=20, thread_location=ThreadLocation.INBOX, before=None
    ):
        """Get thread list of your facebook account

        :param offset: Deprecated. Do not use!
        :param limit: Max. number of threads to retrieve. Capped at 20
        :param thread_location: models.ThreadLocation: INBOX, PENDING, ARCHIVED or OTHER
        :param before: A timestamp (in milliseconds), indicating from which point to retrieve threads
        :type limit: int
        :type before: int
        :return: :class:`models.Thread` objects
        :rtype: list
        :raises: FBchatException if request failed
        """
        if offset is not None:
            log.warning(
                "Using `offset` in `fetchThreadList` is no longer supported, "
                "since Facebook migrated to the use of GraphQL in this request. "
                "Use `before` instead."
            )

        if limit > 20 or limit < 1:
            raise FBchatUserError("`limit` should be between 1 and 20")

        if thread_location in ThreadLocation:
            loc_str = thread_location.value
        else:
            raise FBchatUserError('"thread_location" must be a value of ThreadLocation')

        params = {
            "limit": limit,
            "tags": [loc_str],
            "before": before,
            "includeDeliveryReceipts": True,
            "includeSeqID": False,
        }
        j = self.graphql_request(GraphQL(doc_id="1349387578499440", params=params))

        rtn = []
        for node in j["viewer"]["message_threads"]["nodes"]:
            _type = node.get("thread_type")
            if _type == "GROUP":
                rtn.append(Group._from_graphql(node))
            elif _type == "ONE_TO_ONE":
                rtn.append(User._from_thread_fetch(node))
            else:
                raise FBchatException(
                    "Unknown thread type: {}, with data: {}".format(_type, node)
                )
        return rtn
def fetchThreadList ( self , offset = None , limit = 20 , thread_location = ThreadLocation . INBOX , before = None ) : if offset is not None : log . warning ( "Using `offset` in `fetchThreadList` is no longer supported, " "since Facebook migrated to the use of GraphQL in this request. " "Use `before` instead." ) if limit > 20 or limit < 1 : raise FBchatUserError ( "`limit` should be between 1 and 20" ) if thread_location in ThreadLocation : loc_str = thread_location . value else : raise FBchatUserError ( '"thread_location" must be a value of ThreadLocation' ) params = { "limit" : limit , "tags" : [ loc_str ] , "before" : before , "includeDeliveryReceipts" : True , "includeSeqID" : False , } j = self . graphql_request ( GraphQL ( doc_id = "1349387578499440" , params = params ) ) rtn = [ ] for node in j [ "viewer" ] [ "message_threads" ] [ "nodes" ] : _type = node . get ( "thread_type" ) if _type == "GROUP" : rtn . append ( Group . _from_graphql ( node ) ) elif _type == "ONE_TO_ONE" : rtn . append ( User . _from_thread_fetch ( node ) ) else : raise FBchatException ( "Unknown thread type: {}, with data: {}" . format ( _type , node ) ) return rtn
Get thread list of your facebook account

        :param offset: Deprecated. Do not use!
        :param limit: Max. number of threads to retrieve. Capped at 20
        :param thread_location: models.ThreadLocation: INBOX, PENDING, ARCHIVED or OTHER
        :param before: A timestamp (in milliseconds), indicating from which point to retrieve threads
        :type limit: int
        :type before: int
        :return: :class:`models.Thread` objects
        :rtype: list
        :raises: FBchatException if request failed