Remove fix_request parameter
The requests that don't need this parameter is handled in the State model
This commit is contained in:
@@ -118,37 +118,21 @@ class Client(object):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def _get(self, url, query=None, fix_request=False, as_json=False, error_retries=3):
|
def _get(self, url, query=None, as_json=False, error_retries=3):
|
||||||
payload = self._generatePayload(query)
|
payload = self._generatePayload(query)
|
||||||
r = self._state._session.get(prefix_url(url), params=payload)
|
r = self._state._session.get(prefix_url(url), params=payload)
|
||||||
if not fix_request:
|
|
||||||
return r
|
|
||||||
try:
|
try:
|
||||||
return check_request(r, as_json=as_json)
|
return check_request(r, as_json=as_json)
|
||||||
except FBchatFacebookError as e:
|
except FBchatFacebookError as e:
|
||||||
if error_retries > 0 and self._fix_fb_errors(e.fb_error_code):
|
if error_retries > 0 and self._fix_fb_errors(e.fb_error_code):
|
||||||
return self._get(
|
return self._get(
|
||||||
url,
|
url, query=query, as_json=as_json, error_retries=error_retries - 1
|
||||||
query=query,
|
|
||||||
fix_request=fix_request,
|
|
||||||
as_json=as_json,
|
|
||||||
error_retries=error_retries - 1,
|
|
||||||
)
|
)
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
def _post(
|
def _post(self, url, query=None, as_json=False, as_graphql=False, error_retries=3):
|
||||||
self,
|
|
||||||
url,
|
|
||||||
query=None,
|
|
||||||
fix_request=False,
|
|
||||||
as_json=False,
|
|
||||||
as_graphql=False,
|
|
||||||
error_retries=3,
|
|
||||||
):
|
|
||||||
payload = self._generatePayload(query)
|
payload = self._generatePayload(query)
|
||||||
r = self._state._session.post(prefix_url(url), data=payload)
|
r = self._state._session.post(prefix_url(url), data=payload)
|
||||||
if not fix_request:
|
|
||||||
return r
|
|
||||||
try:
|
try:
|
||||||
if as_graphql:
|
if as_graphql:
|
||||||
content = check_request(r, as_json=False)
|
content = check_request(r, as_json=False)
|
||||||
@@ -160,26 +144,15 @@ class Client(object):
|
|||||||
return self._post(
|
return self._post(
|
||||||
url,
|
url,
|
||||||
query=query,
|
query=query,
|
||||||
fix_request=fix_request,
|
|
||||||
as_json=as_json,
|
as_json=as_json,
|
||||||
as_graphql=as_graphql,
|
as_graphql=as_graphql,
|
||||||
error_retries=error_retries - 1,
|
error_retries=error_retries - 1,
|
||||||
)
|
)
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
def _postFile(
|
def _postFile(self, url, files=None, query=None, as_json=False, error_retries=3):
|
||||||
self,
|
|
||||||
url,
|
|
||||||
files=None,
|
|
||||||
query=None,
|
|
||||||
fix_request=False,
|
|
||||||
as_json=False,
|
|
||||||
error_retries=3,
|
|
||||||
):
|
|
||||||
payload = self._generatePayload(query)
|
payload = self._generatePayload(query)
|
||||||
r = self._state._session.post(prefix_url(url), data=payload, files=files)
|
r = self._state._session.post(prefix_url(url), data=payload, files=files)
|
||||||
if not fix_request:
|
|
||||||
return r
|
|
||||||
try:
|
try:
|
||||||
return check_request(r, as_json=as_json)
|
return check_request(r, as_json=as_json)
|
||||||
except FBchatFacebookError as e:
|
except FBchatFacebookError as e:
|
||||||
@@ -188,7 +161,6 @@ class Client(object):
|
|||||||
url,
|
url,
|
||||||
files=files,
|
files=files,
|
||||||
query=query,
|
query=query,
|
||||||
fix_request=fix_request,
|
|
||||||
as_json=as_json,
|
as_json=as_json,
|
||||||
error_retries=error_retries - 1,
|
error_retries=error_retries - 1,
|
||||||
)
|
)
|
||||||
@@ -208,9 +180,7 @@ class Client(object):
|
|||||||
"response_format": "json",
|
"response_format": "json",
|
||||||
"queries": graphql_queries_to_json(*queries),
|
"queries": graphql_queries_to_json(*queries),
|
||||||
}
|
}
|
||||||
return tuple(
|
return tuple(self._post("/api/graphqlbatch/", data, as_graphql=True))
|
||||||
self._post("/api/graphqlbatch/", data, fix_request=True, as_graphql=True)
|
|
||||||
)
|
|
||||||
|
|
||||||
def graphql_request(self, query):
|
def graphql_request(self, query):
|
||||||
"""
|
"""
|
||||||
@@ -454,9 +424,7 @@ class Client(object):
|
|||||||
:raises: FBchatException if request failed
|
:raises: FBchatException if request failed
|
||||||
"""
|
"""
|
||||||
data = {"viewer": self._uid}
|
data = {"viewer": self._uid}
|
||||||
j = self._post(
|
j = self._post("/chat/user_info_all", query=data, as_json=True)
|
||||||
"/chat/user_info_all", query=data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
if j.get("payload") is None:
|
if j.get("payload") is None:
|
||||||
raise FBchatException("Missing payload while fetching users: {}".format(j))
|
raise FBchatException("Missing payload while fetching users: {}".format(j))
|
||||||
|
|
||||||
@@ -568,12 +536,7 @@ class Client(object):
|
|||||||
"identifier": "thread_fbid",
|
"identifier": "thread_fbid",
|
||||||
"thread_fbid": thread_id,
|
"thread_fbid": thread_id,
|
||||||
}
|
}
|
||||||
j = self._post(
|
j = self._post("/ajax/mercury/search_snippets.php?dpr=1", data, as_json=True)
|
||||||
"/ajax/mercury/search_snippets.php?dpr=1",
|
|
||||||
data,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
|
||||||
|
|
||||||
result = j["payload"]["search_snippets"][query]
|
result = j["payload"]["search_snippets"][query]
|
||||||
snippets = result[thread_id]["snippets"] if result.get(thread_id) else []
|
snippets = result[thread_id]["snippets"] if result.get(thread_id) else []
|
||||||
@@ -618,12 +581,7 @@ class Client(object):
|
|||||||
:raises: FBchatException if request failed
|
:raises: FBchatException if request failed
|
||||||
"""
|
"""
|
||||||
data = {"query": query, "snippetLimit": thread_limit}
|
data = {"query": query, "snippetLimit": thread_limit}
|
||||||
j = self._post(
|
j = self._post("/ajax/mercury/search_snippets.php?dpr=1", data, as_json=True)
|
||||||
"/ajax/mercury/search_snippets.php?dpr=1",
|
|
||||||
data,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
|
||||||
result = j["payload"]["search_snippets"][query]
|
result = j["payload"]["search_snippets"][query]
|
||||||
|
|
||||||
if not result:
|
if not result:
|
||||||
@@ -641,7 +599,7 @@ class Client(object):
|
|||||||
|
|
||||||
def _fetchInfo(self, *ids):
|
def _fetchInfo(self, *ids):
|
||||||
data = {"ids[{}]".format(i): _id for i, _id in enumerate(ids)}
|
data = {"ids[{}]".format(i): _id for i, _id in enumerate(ids)}
|
||||||
j = self._post("/chat/user_info/", data, fix_request=True, as_json=True)
|
j = self._post("/chat/user_info/", data, as_json=True)
|
||||||
|
|
||||||
if j.get("payload") is None or j["payload"].get("profiles") is None:
|
if j.get("payload") is None or j["payload"].get("profiles") is None:
|
||||||
raise FBchatException("No users/pages returned: {}".format(j))
|
raise FBchatException("No users/pages returned: {}".format(j))
|
||||||
@@ -911,9 +869,7 @@ class Client(object):
|
|||||||
"last_action_timestamp": now() - 60 * 1000
|
"last_action_timestamp": now() - 60 * 1000
|
||||||
# 'last_action_timestamp': 0
|
# 'last_action_timestamp': 0
|
||||||
}
|
}
|
||||||
j = self._post(
|
j = self._post("/ajax/mercury/unread_threads.php", form, as_json=True)
|
||||||
"/ajax/mercury/unread_threads.php", form, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
payload = j["payload"]["unread_thread_fbids"][0]
|
payload = j["payload"]["unread_thread_fbids"][0]
|
||||||
return payload["thread_fbids"] + payload["other_user_fbids"]
|
return payload["thread_fbids"] + payload["other_user_fbids"]
|
||||||
@@ -926,9 +882,7 @@ class Client(object):
|
|||||||
:rtype: list
|
:rtype: list
|
||||||
:raises: FBchatException if request failed
|
:raises: FBchatException if request failed
|
||||||
"""
|
"""
|
||||||
j = self._post(
|
j = self._post("/mercury/unseen_thread_ids/", None, as_json=True)
|
||||||
"/mercury/unseen_thread_ids/", None, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
payload = j["payload"]["unseen_thread_fbids"][0]
|
payload = j["payload"]["unseen_thread_fbids"][0]
|
||||||
return payload["thread_fbids"] + payload["other_user_fbids"]
|
return payload["thread_fbids"] + payload["other_user_fbids"]
|
||||||
@@ -944,9 +898,7 @@ class Client(object):
|
|||||||
"""
|
"""
|
||||||
image_id = str(image_id)
|
image_id = str(image_id)
|
||||||
data = {"photo_id": str(image_id)}
|
data = {"photo_id": str(image_id)}
|
||||||
j = self._post(
|
j = self._post("/mercury/attachments/photo/", data, as_json=True)
|
||||||
"/mercury/attachments/photo/", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
url = get_jsmods_require(j, 3)
|
url = get_jsmods_require(j, 3)
|
||||||
if url is None:
|
if url is None:
|
||||||
@@ -976,9 +928,7 @@ class Client(object):
|
|||||||
:raises: FBchatException if request failed
|
:raises: FBchatException if request failed
|
||||||
"""
|
"""
|
||||||
data = {"question_id": poll_id}
|
data = {"question_id": poll_id}
|
||||||
j = self._post(
|
j = self._post("/ajax/mercury/get_poll_options", data, as_json=True)
|
||||||
"/ajax/mercury/get_poll_options", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
return [PollOption._from_graphql(m) for m in j["payload"]]
|
return [PollOption._from_graphql(m) for m in j["payload"]]
|
||||||
|
|
||||||
def fetchPlanInfo(self, plan_id):
|
def fetchPlanInfo(self, plan_id):
|
||||||
@@ -991,7 +941,7 @@ class Client(object):
|
|||||||
:raises: FBchatException if request failed
|
:raises: FBchatException if request failed
|
||||||
"""
|
"""
|
||||||
data = {"event_reminder_id": plan_id}
|
data = {"event_reminder_id": plan_id}
|
||||||
j = self._post("/ajax/eventreminder", data, fix_request=True, as_json=True)
|
j = self._post("/ajax/eventreminder", data, as_json=True)
|
||||||
return Plan._from_fetch(j["payload"])
|
return Plan._from_fetch(j["payload"])
|
||||||
|
|
||||||
def _getPrivateData(self):
|
def _getPrivateData(self):
|
||||||
@@ -1116,7 +1066,7 @@ class Client(object):
|
|||||||
|
|
||||||
def _doSendRequest(self, data, get_thread_id=False):
|
def _doSendRequest(self, data, get_thread_id=False):
|
||||||
"""Sends the data to `SendURL`, and returns the message ID or None on failure"""
|
"""Sends the data to `SendURL`, and returns the message ID or None on failure"""
|
||||||
j = self._post("/messaging/send/", data, fix_request=True, as_json=True)
|
j = self._post("/messaging/send/", data, as_json=True)
|
||||||
|
|
||||||
# update JS token if received in response
|
# update JS token if received in response
|
||||||
fb_dtsg = get_jsmods_require(j, 2)
|
fb_dtsg = get_jsmods_require(j, 2)
|
||||||
@@ -1251,9 +1201,7 @@ class Client(object):
|
|||||||
:param mid: :ref:`Message ID <intro_message_ids>` of the message to unsend
|
:param mid: :ref:`Message ID <intro_message_ids>` of the message to unsend
|
||||||
"""
|
"""
|
||||||
data = {"message_id": mid}
|
data = {"message_id": mid}
|
||||||
j = self._post(
|
j = self._post("/messaging/unsend_message/?dpr=1", data, as_json=True)
|
||||||
"/messaging/unsend_message/?dpr=1", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def _sendLocation(
|
def _sendLocation(
|
||||||
self, location, current=True, message=None, thread_id=None, thread_type=None
|
self, location, current=True, message=None, thread_id=None, thread_type=None
|
||||||
@@ -1331,7 +1279,6 @@ class Client(object):
|
|||||||
"https://upload.facebook.com/ajax/mercury/upload.php",
|
"https://upload.facebook.com/ajax/mercury/upload.php",
|
||||||
files=file_dict,
|
files=file_dict,
|
||||||
query=data,
|
query=data,
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
as_json=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1511,9 +1458,7 @@ class Client(object):
|
|||||||
"attachment_id": attachment_id,
|
"attachment_id": attachment_id,
|
||||||
"recipient_map[{}]".format(generateOfflineThreadingID()): thread_id,
|
"recipient_map[{}]".format(generateOfflineThreadingID()): thread_id,
|
||||||
}
|
}
|
||||||
j = self._post(
|
j = self._post("/mercury/attachments/forward/", data, as_json=True)
|
||||||
"/mercury/attachments/forward/", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def createGroup(self, message, user_ids):
|
def createGroup(self, message, user_ids):
|
||||||
"""
|
"""
|
||||||
@@ -1579,9 +1524,7 @@ class Client(object):
|
|||||||
thread_id, thread_type = self._getThread(thread_id, None)
|
thread_id, thread_type = self._getThread(thread_id, None)
|
||||||
|
|
||||||
data = {"uid": user_id, "tid": thread_id}
|
data = {"uid": user_id, "tid": thread_id}
|
||||||
j = self._post(
|
j = self._post("/chat/remove_participants/", data, as_json=True)
|
||||||
"/chat/remove_participants/", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def _adminStatus(self, admin_ids, admin, thread_id=None):
|
def _adminStatus(self, admin_ids, admin, thread_id=None):
|
||||||
thread_id, thread_type = self._getThread(thread_id, None)
|
thread_id, thread_type = self._getThread(thread_id, None)
|
||||||
@@ -1593,9 +1536,7 @@ class Client(object):
|
|||||||
for i, admin_id in enumerate(admin_ids):
|
for i, admin_id in enumerate(admin_ids):
|
||||||
data["admin_ids[{}]".format(i)] = str(admin_id)
|
data["admin_ids[{}]".format(i)] = str(admin_id)
|
||||||
|
|
||||||
j = self._post(
|
j = self._post("/messaging/save_admins/?dpr=1", data, as_json=True)
|
||||||
"/messaging/save_admins/?dpr=1", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def addGroupAdmins(self, admin_ids, thread_id=None):
|
def addGroupAdmins(self, admin_ids, thread_id=None):
|
||||||
"""
|
"""
|
||||||
@@ -1628,9 +1569,7 @@ class Client(object):
|
|||||||
thread_id, thread_type = self._getThread(thread_id, None)
|
thread_id, thread_type = self._getThread(thread_id, None)
|
||||||
|
|
||||||
data = {"set_mode": int(require_admin_approval), "thread_fbid": thread_id}
|
data = {"set_mode": int(require_admin_approval), "thread_fbid": thread_id}
|
||||||
j = self._post(
|
j = self._post("/messaging/set_approval_mode/?dpr=1", data, as_json=True)
|
||||||
"/messaging/set_approval_mode/?dpr=1", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def _usersApproval(self, user_ids, approve, thread_id=None):
|
def _usersApproval(self, user_ids, approve, thread_id=None):
|
||||||
thread_id, thread_type = self._getThread(thread_id, None)
|
thread_id, thread_type = self._getThread(thread_id, None)
|
||||||
@@ -1681,9 +1620,7 @@ class Client(object):
|
|||||||
|
|
||||||
data = {"thread_image_id": image_id, "thread_id": thread_id}
|
data = {"thread_image_id": image_id, "thread_id": thread_id}
|
||||||
|
|
||||||
j = self._post(
|
j = self._post("/messaging/set_thread_image/?dpr=1", data, as_json=True)
|
||||||
"/messaging/set_thread_image/?dpr=1", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
return image_id
|
return image_id
|
||||||
|
|
||||||
def changeGroupImageRemote(self, image_url, thread_id=None):
|
def changeGroupImageRemote(self, image_url, thread_id=None):
|
||||||
@@ -1730,9 +1667,7 @@ class Client(object):
|
|||||||
)
|
)
|
||||||
|
|
||||||
data = {"thread_name": title, "thread_id": thread_id}
|
data = {"thread_name": title, "thread_id": thread_id}
|
||||||
j = self._post(
|
j = self._post("/messaging/set_thread_name/?dpr=1", data, as_json=True)
|
||||||
"/messaging/set_thread_name/?dpr=1", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def changeNickname(
|
def changeNickname(
|
||||||
self, nickname, user_id, thread_id=None, thread_type=ThreadType.USER
|
self, nickname, user_id, thread_id=None, thread_type=ThreadType.USER
|
||||||
@@ -1757,7 +1692,6 @@ class Client(object):
|
|||||||
j = self._post(
|
j = self._post(
|
||||||
"/messaging/save_thread_nickname/?source=thread_settings&dpr=1",
|
"/messaging/save_thread_nickname/?source=thread_settings&dpr=1",
|
||||||
data,
|
data,
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
as_json=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1779,7 +1713,6 @@ class Client(object):
|
|||||||
j = self._post(
|
j = self._post(
|
||||||
"/messaging/save_thread_color/?source=thread_settings&dpr=1",
|
"/messaging/save_thread_color/?source=thread_settings&dpr=1",
|
||||||
data,
|
data,
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
as_json=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1799,7 +1732,6 @@ class Client(object):
|
|||||||
j = self._post(
|
j = self._post(
|
||||||
"/messaging/save_thread_emoji/?source=thread_settings&dpr=1",
|
"/messaging/save_thread_emoji/?source=thread_settings&dpr=1",
|
||||||
data,
|
data,
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
as_json=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1820,7 +1752,7 @@ class Client(object):
|
|||||||
"reaction": reaction.value if reaction else None,
|
"reaction": reaction.value if reaction else None,
|
||||||
}
|
}
|
||||||
data = {"doc_id": 1491398900900362, "variables": json.dumps({"data": data})}
|
data = {"doc_id": 1491398900900362, "variables": json.dumps({"data": data})}
|
||||||
j = self._post("/webgraphql/mutation", data, fix_request=True, as_json=True)
|
j = self._post("/webgraphql/mutation", data, as_json=True)
|
||||||
|
|
||||||
def createPlan(self, plan, thread_id=None):
|
def createPlan(self, plan, thread_id=None):
|
||||||
"""
|
"""
|
||||||
@@ -1842,9 +1774,7 @@ class Client(object):
|
|||||||
"location_name": plan.location or "",
|
"location_name": plan.location or "",
|
||||||
"acontext": ACONTEXT,
|
"acontext": ACONTEXT,
|
||||||
}
|
}
|
||||||
j = self._post(
|
j = self._post("/ajax/eventreminder/create", data, as_json=True)
|
||||||
"/ajax/eventreminder/create", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def editPlan(self, plan, new_plan):
|
def editPlan(self, plan, new_plan):
|
||||||
"""
|
"""
|
||||||
@@ -1864,9 +1794,7 @@ class Client(object):
|
|||||||
"title": new_plan.title,
|
"title": new_plan.title,
|
||||||
"acontext": ACONTEXT,
|
"acontext": ACONTEXT,
|
||||||
}
|
}
|
||||||
j = self._post(
|
j = self._post("/ajax/eventreminder/submit", data, as_json=True)
|
||||||
"/ajax/eventreminder/submit", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def deletePlan(self, plan):
|
def deletePlan(self, plan):
|
||||||
"""
|
"""
|
||||||
@@ -1876,9 +1804,7 @@ class Client(object):
|
|||||||
:raises: FBchatException if request failed
|
:raises: FBchatException if request failed
|
||||||
"""
|
"""
|
||||||
data = {"event_reminder_id": plan.uid, "delete": "true", "acontext": ACONTEXT}
|
data = {"event_reminder_id": plan.uid, "delete": "true", "acontext": ACONTEXT}
|
||||||
j = self._post(
|
j = self._post("/ajax/eventreminder/submit", data, as_json=True)
|
||||||
"/ajax/eventreminder/submit", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def changePlanParticipation(self, plan, take_part=True):
|
def changePlanParticipation(self, plan, take_part=True):
|
||||||
"""
|
"""
|
||||||
@@ -1893,7 +1819,7 @@ class Client(object):
|
|||||||
"guest_state": "GOING" if take_part else "DECLINED",
|
"guest_state": "GOING" if take_part else "DECLINED",
|
||||||
"acontext": ACONTEXT,
|
"acontext": ACONTEXT,
|
||||||
}
|
}
|
||||||
j = self._post("/ajax/eventreminder/rsvp", data, fix_request=True, as_json=True)
|
j = self._post("/ajax/eventreminder/rsvp", data, as_json=True)
|
||||||
|
|
||||||
def eventReminder(self, thread_id, time, title, location="", location_id=""):
|
def eventReminder(self, thread_id, time, title, location="", location_id=""):
|
||||||
"""
|
"""
|
||||||
@@ -1924,10 +1850,7 @@ class Client(object):
|
|||||||
data["option_is_selected_array[{}]".format(i)] = str(int(option.vote))
|
data["option_is_selected_array[{}]".format(i)] = str(int(option.vote))
|
||||||
|
|
||||||
j = self._post(
|
j = self._post(
|
||||||
"/messaging/group_polling/create_poll/?dpr=1",
|
"/messaging/group_polling/create_poll/?dpr=1", data, as_json=True
|
||||||
data,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def updatePollVote(self, poll_id, option_ids=[], new_options=[]):
|
def updatePollVote(self, poll_id, option_ids=[], new_options=[]):
|
||||||
@@ -1951,10 +1874,7 @@ class Client(object):
|
|||||||
data["new_options[{}]".format(i)] = option_text
|
data["new_options[{}]".format(i)] = option_text
|
||||||
|
|
||||||
j = self._post(
|
j = self._post(
|
||||||
"/messaging/group_polling/update_vote/?dpr=1",
|
"/messaging/group_polling/update_vote/?dpr=1", data, as_json=True
|
||||||
data,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def setTypingStatus(self, status, thread_id=None, thread_type=None):
|
def setTypingStatus(self, status, thread_id=None, thread_type=None):
|
||||||
@@ -1976,7 +1896,7 @@ class Client(object):
|
|||||||
"to": thread_id if thread_type == ThreadType.USER else "",
|
"to": thread_id if thread_type == ThreadType.USER else "",
|
||||||
"source": "mercury-chat",
|
"source": "mercury-chat",
|
||||||
}
|
}
|
||||||
j = self._post("/ajax/messaging/typ.php", data, fix_request=True, as_json=True)
|
j = self._post("/ajax/messaging/typ.php", data, as_json=True)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
END SEND METHODS
|
END SEND METHODS
|
||||||
@@ -1996,9 +1916,7 @@ class Client(object):
|
|||||||
"thread_ids[%s][0]" % thread_id: message_id,
|
"thread_ids[%s][0]" % thread_id: message_id,
|
||||||
}
|
}
|
||||||
|
|
||||||
j = self._post(
|
j = self._post("/ajax/mercury/delivery_receipts.php", data, as_json=True)
|
||||||
"/ajax/mercury/delivery_receipts.php", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def _readStatus(self, read, thread_ids):
|
def _readStatus(self, read, thread_ids):
|
||||||
@@ -2009,9 +1927,7 @@ class Client(object):
|
|||||||
for thread_id in thread_ids:
|
for thread_id in thread_ids:
|
||||||
data["ids[{}]".format(thread_id)] = "true" if read else "false"
|
data["ids[{}]".format(thread_id)] = "true" if read else "false"
|
||||||
|
|
||||||
j = self._post(
|
j = self._post("/ajax/mercury/change_read_status.php", data, as_json=True)
|
||||||
"/ajax/mercury/change_read_status.php", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def markAsRead(self, thread_ids=None):
|
def markAsRead(self, thread_ids=None):
|
||||||
"""
|
"""
|
||||||
@@ -2039,10 +1955,7 @@ class Client(object):
|
|||||||
Documenting this
|
Documenting this
|
||||||
"""
|
"""
|
||||||
j = self._post(
|
j = self._post(
|
||||||
"/ajax/mercury/mark_seen.php",
|
"/ajax/mercury/mark_seen.php", {"seen_timestamp": now()}, as_json=True
|
||||||
{"seen_timestamp": now()},
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def friendConnect(self, friend_id):
|
def friendConnect(self, friend_id):
|
||||||
@@ -2052,9 +1965,7 @@ class Client(object):
|
|||||||
"""
|
"""
|
||||||
data = {"to_friend": friend_id, "action": "confirm"}
|
data = {"to_friend": friend_id, "action": "confirm"}
|
||||||
|
|
||||||
j = self._post(
|
j = self._post("/ajax/add_friend/action.php?dpr=1", data, as_json=True)
|
||||||
"/ajax/add_friend/action.php?dpr=1", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
def removeFriend(self, friend_id=None):
|
def removeFriend(self, friend_id=None):
|
||||||
"""
|
"""
|
||||||
@@ -2065,12 +1976,7 @@ class Client(object):
|
|||||||
:raises: FBchatException if request failed
|
:raises: FBchatException if request failed
|
||||||
"""
|
"""
|
||||||
data = {"uid": friend_id}
|
data = {"uid": friend_id}
|
||||||
j = self._post(
|
j = self._post("/ajax/profile/removefriendconfirm.php", data, as_json=True)
|
||||||
"/ajax/profile/removefriendconfirm.php",
|
|
||||||
data,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def blockUser(self, user_id):
|
def blockUser(self, user_id):
|
||||||
@@ -2082,9 +1988,7 @@ class Client(object):
|
|||||||
:raises: FBchatException if request failed
|
:raises: FBchatException if request failed
|
||||||
"""
|
"""
|
||||||
data = {"fbid": user_id}
|
data = {"fbid": user_id}
|
||||||
j = self._post(
|
j = self._post("/messaging/block_messages/?dpr=1", data, as_json=True)
|
||||||
"/messaging/block_messages/?dpr=1", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def unblockUser(self, user_id):
|
def unblockUser(self, user_id):
|
||||||
@@ -2096,9 +2000,7 @@ class Client(object):
|
|||||||
:raises: FBchatException if request failed
|
:raises: FBchatException if request failed
|
||||||
"""
|
"""
|
||||||
data = {"fbid": user_id}
|
data = {"fbid": user_id}
|
||||||
j = self._post(
|
j = self._post("/messaging/unblock_messages/?dpr=1", data, as_json=True)
|
||||||
"/messaging/unblock_messages/?dpr=1", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def moveThreads(self, location, thread_ids):
|
def moveThreads(self, location, thread_ids):
|
||||||
@@ -2124,22 +2026,16 @@ class Client(object):
|
|||||||
j_archive = self._post(
|
j_archive = self._post(
|
||||||
"/ajax/mercury/change_archived_status.php?dpr=1",
|
"/ajax/mercury/change_archived_status.php?dpr=1",
|
||||||
data_archive,
|
data_archive,
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
as_json=True,
|
||||||
)
|
)
|
||||||
j_unpin = self._post(
|
j_unpin = self._post(
|
||||||
"/ajax/mercury/change_pinned_status.php?dpr=1",
|
"/ajax/mercury/change_pinned_status.php?dpr=1", data_unpin, as_json=True
|
||||||
data_unpin,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
data = dict()
|
data = dict()
|
||||||
for i, thread_id in enumerate(thread_ids):
|
for i, thread_id in enumerate(thread_ids):
|
||||||
data["{}[{}]".format(location.name.lower(), i)] = thread_id
|
data["{}[{}]".format(location.name.lower(), i)] = thread_id
|
||||||
j = self._post(
|
j = self._post("/ajax/mercury/move_thread.php", data, as_json=True)
|
||||||
"/ajax/mercury/move_thread.php", data, fix_request=True, as_json=True
|
|
||||||
)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def deleteThreads(self, thread_ids):
|
def deleteThreads(self, thread_ids):
|
||||||
@@ -2158,16 +2054,10 @@ class Client(object):
|
|||||||
data_unpin["ids[{}]".format(thread_id)] = "false"
|
data_unpin["ids[{}]".format(thread_id)] = "false"
|
||||||
data_delete["ids[{}]".format(i)] = thread_id
|
data_delete["ids[{}]".format(i)] = thread_id
|
||||||
j_unpin = self._post(
|
j_unpin = self._post(
|
||||||
"/ajax/mercury/change_pinned_status.php?dpr=1",
|
"/ajax/mercury/change_pinned_status.php?dpr=1", data_unpin, as_json=True
|
||||||
data_unpin,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
)
|
||||||
j_delete = self._post(
|
j_delete = self._post(
|
||||||
"/ajax/mercury/delete_thread.php?dpr=1",
|
"/ajax/mercury/delete_thread.php?dpr=1", data_delete, as_json=True
|
||||||
data_delete,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -2181,10 +2071,7 @@ class Client(object):
|
|||||||
"""
|
"""
|
||||||
thread_id, thread_type = self._getThread(thread_id, None)
|
thread_id, thread_type = self._getThread(thread_id, None)
|
||||||
j = self._post(
|
j = self._post(
|
||||||
"/ajax/mercury/mark_spam.php?dpr=1",
|
"/ajax/mercury/mark_spam.php?dpr=1", {"id": thread_id}, as_json=True
|
||||||
{"id": thread_id},
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -2200,12 +2087,7 @@ class Client(object):
|
|||||||
data = dict()
|
data = dict()
|
||||||
for i, message_id in enumerate(message_ids):
|
for i, message_id in enumerate(message_ids):
|
||||||
data["message_ids[{}]".format(i)] = message_id
|
data["message_ids[{}]".format(i)] = message_id
|
||||||
j = self._post(
|
j = self._post("/ajax/mercury/delete_messages.php?dpr=1", data, as_json=True)
|
||||||
"/ajax/mercury/delete_messages.php?dpr=1",
|
|
||||||
data,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def muteThread(self, mute_time=-1, thread_id=None):
|
def muteThread(self, mute_time=-1, thread_id=None):
|
||||||
@@ -2217,12 +2099,7 @@ class Client(object):
|
|||||||
"""
|
"""
|
||||||
thread_id, thread_type = self._getThread(thread_id, None)
|
thread_id, thread_type = self._getThread(thread_id, None)
|
||||||
data = {"mute_settings": str(mute_time), "thread_fbid": thread_id}
|
data = {"mute_settings": str(mute_time), "thread_fbid": thread_id}
|
||||||
j = self._post(
|
j = self._post("/ajax/mercury/change_mute_thread.php?dpr=1", data, as_json=True)
|
||||||
"/ajax/mercury/change_mute_thread.php?dpr=1",
|
|
||||||
data,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
|
||||||
|
|
||||||
def unmuteThread(self, thread_id=None):
|
def unmuteThread(self, thread_id=None):
|
||||||
"""
|
"""
|
||||||
@@ -2242,10 +2119,7 @@ class Client(object):
|
|||||||
thread_id, thread_type = self._getThread(thread_id, None)
|
thread_id, thread_type = self._getThread(thread_id, None)
|
||||||
data = {"reactions_mute_mode": int(mute), "thread_fbid": thread_id}
|
data = {"reactions_mute_mode": int(mute), "thread_fbid": thread_id}
|
||||||
j = self._post(
|
j = self._post(
|
||||||
"/ajax/mercury/change_reactions_mute_thread/?dpr=1",
|
"/ajax/mercury/change_reactions_mute_thread/?dpr=1", data, as_json=True
|
||||||
data,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def unmuteThreadReactions(self, thread_id=None):
|
def unmuteThreadReactions(self, thread_id=None):
|
||||||
@@ -2266,10 +2140,7 @@ class Client(object):
|
|||||||
thread_id, thread_type = self._getThread(thread_id, None)
|
thread_id, thread_type = self._getThread(thread_id, None)
|
||||||
data = {"mentions_mute_mode": int(mute), "thread_fbid": thread_id}
|
data = {"mentions_mute_mode": int(mute), "thread_fbid": thread_id}
|
||||||
j = self._post(
|
j = self._post(
|
||||||
"/ajax/mercury/change_mentions_mute_thread/?dpr=1",
|
"/ajax/mercury/change_mentions_mute_thread/?dpr=1", data, as_json=True
|
||||||
data,
|
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def unmuteThreadMentions(self, thread_id=None):
|
def unmuteThreadMentions(self, thread_id=None):
|
||||||
@@ -2300,7 +2171,6 @@ class Client(object):
|
|||||||
j = self._get(
|
j = self._get(
|
||||||
"https://{}-edge-chat.facebook.com/active_ping".format(self._pull_channel),
|
"https://{}-edge-chat.facebook.com/active_ping".format(self._pull_channel),
|
||||||
data,
|
data,
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
as_json=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -2317,7 +2187,6 @@ class Client(object):
|
|||||||
return self._get(
|
return self._get(
|
||||||
"https://{}-edge-chat.facebook.com/pull".format(self._pull_channel),
|
"https://{}-edge-chat.facebook.com/pull".format(self._pull_channel),
|
||||||
data,
|
data,
|
||||||
fix_request=True,
|
|
||||||
as_json=True,
|
as_json=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user