<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fetchAllUsers(self):
 """ Gets all users the client is currently chatting with :return: :class:`models.User` objects :rtype: list :raises: FBchatException if request failed """

        data = {"viewer": self._uid}
        j = self._post(
            self.req_url.ALL_USERS, query=data, fix_request=True, as_json=True
        )
        if j.get("payload") is None:
            raise FBchatException("Missing payload while fetching users: {}".format(j))

        users = []
        for data in j["payload"].values():
            if data["type"] in ["user", "friend"]:
                if data["id"] in ["0", 0]:
                    # Skip invalid users
                    continue
                users.append(User._from_all_fetch(data))
        return users