Better document MQTT topics
This commit is contained in:
@@ -97,7 +97,7 @@ class Mqtt(object):
|
|||||||
log.error("MQTT error code %s received", j["errorCode"])
|
log.error("MQTT error code %s received", j["errorCode"])
|
||||||
# TODO: Consider resetting the sync_token and sequence ID here?
|
# TODO: Consider resetting the sync_token and sequence ID here?
|
||||||
|
|
||||||
log.debug("MQTT payload: %s", j)
|
log.debug("MQTT payload: %s, %s", message.topic, j)
|
||||||
|
|
||||||
# Call the external callback
|
# Call the external callback
|
||||||
self._on_message(message.topic, j)
|
self._on_message(message.topic, j)
|
||||||
@@ -149,6 +149,40 @@ class Mqtt(object):
|
|||||||
# Generate a new session ID on each reconnect
|
# Generate a new session ID on each reconnect
|
||||||
session_id = generate_session_id()
|
session_id = generate_session_id()
|
||||||
|
|
||||||
|
topics = [
|
||||||
|
# Things that happen in chats (e.g. messages)
|
||||||
|
"/t_ms",
|
||||||
|
# Group typing notifications
|
||||||
|
"/thread_typing",
|
||||||
|
# Private chat typing notifications
|
||||||
|
"/orca_typing_notifications",
|
||||||
|
# Active notifications
|
||||||
|
"/orca_presence",
|
||||||
|
# Other notifications not related to chats (e.g. friend requests)
|
||||||
|
"/legacy_web",
|
||||||
|
# Facebook's continuous error reporting/logging?
|
||||||
|
"/br_sr",
|
||||||
|
# Response to /br_sr
|
||||||
|
"/sr_res",
|
||||||
|
# TODO: Investigate the response from this! (A bunch of binary data)
|
||||||
|
# "/t_p",
|
||||||
|
# TODO: Find out what this does!
|
||||||
|
"/webrtc",
|
||||||
|
# TODO: Find out what this does!
|
||||||
|
"/onevc",
|
||||||
|
# TODO: Find out what this does!
|
||||||
|
"/notify_disconnect",
|
||||||
|
# Old, no longer active topics
|
||||||
|
# These are here just in case something interesting pops up
|
||||||
|
"/inbox",
|
||||||
|
"/mercury",
|
||||||
|
"/messaging_events",
|
||||||
|
"/orca_message_notifications",
|
||||||
|
"/pp",
|
||||||
|
"/t_rtc",
|
||||||
|
"/webrtc_response",
|
||||||
|
]
|
||||||
|
|
||||||
username = {
|
username = {
|
||||||
# The user ID
|
# The user ID
|
||||||
"u": self._state.user_id,
|
"u": self._state.user_id,
|
||||||
@@ -163,31 +197,7 @@ class Mqtt(object):
|
|||||||
# Application ID, taken from facebook.com
|
# Application ID, taken from facebook.com
|
||||||
"aid": 219994525426954,
|
"aid": 219994525426954,
|
||||||
# MQTT extension by FB, allows making a SUBSCRIBE while CONNECTing
|
# MQTT extension by FB, allows making a SUBSCRIBE while CONNECTing
|
||||||
"st": [
|
"st": topics,
|
||||||
# TODO: Investigate the result from these
|
|
||||||
# "/inbox",
|
|
||||||
# "/mercury",
|
|
||||||
# "/messaging_events",
|
|
||||||
# "/orca_message_notifications",
|
|
||||||
# "/pp",
|
|
||||||
# "/t_p",
|
|
||||||
# "/t_rtc",
|
|
||||||
# "/webrtc_response",
|
|
||||||
"/legacy_web",
|
|
||||||
"/webrtc",
|
|
||||||
"/onevc",
|
|
||||||
# Things that happen in chats (e.g. messages)
|
|
||||||
"/t_ms",
|
|
||||||
# Group typing notifications
|
|
||||||
"/thread_typing",
|
|
||||||
# Private chat typing notifications
|
|
||||||
"/orca_typing_notifications",
|
|
||||||
"/notify_disconnect",
|
|
||||||
# Active notifications
|
|
||||||
"/orca_presence",
|
|
||||||
"/br_sr",
|
|
||||||
"/sr_res",
|
|
||||||
],
|
|
||||||
# MQTT extension by FB, allows making a PUBLISH while CONNECTing
|
# MQTT extension by FB, allows making a PUBLISH while CONNECTing
|
||||||
# Using this is more efficient, but the same can be acheived with:
|
# Using this is more efficient, but the same can be acheived with:
|
||||||
# def on_connect(*args):
|
# def on_connect(*args):
|
||||||
@@ -290,3 +300,6 @@ class Mqtt(object):
|
|||||||
# def send_additional_contacts(self, additional_contacts):
|
# def send_additional_contacts(self, additional_contacts):
|
||||||
# payload = _util.json_minimal({"additional_contacts": additional_contacts})
|
# payload = _util.json_minimal({"additional_contacts": additional_contacts})
|
||||||
# info = self._mqtt.publish("/send_additional_contacts", payload=payload, qos=1)
|
# info = self._mqtt.publish("/send_additional_contacts", payload=payload, qos=1)
|
||||||
|
#
|
||||||
|
# def browser_close(self):
|
||||||
|
# info = self._mqtt.publish("/browser_close", payload=b"{}", qos=1)
|
||||||
|
Reference in New Issue
Block a user