Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
19c875c18a | ||
|
12bbc0058c |
@@ -1,5 +1,5 @@
|
|||||||
[bumpversion]
|
[bumpversion]
|
||||||
current_version = 1.9.4
|
current_version = 1.9.5
|
||||||
commit = True
|
commit = True
|
||||||
tag = True
|
tag = True
|
||||||
|
|
||||||
|
@@ -13,7 +13,7 @@ from ._client import Client
|
|||||||
from ._util import log # TODO: Remove this (from examples too)
|
from ._util import log # TODO: Remove this (from examples too)
|
||||||
|
|
||||||
__title__ = "fbchat"
|
__title__ = "fbchat"
|
||||||
__version__ = "1.9.4"
|
__version__ = "1.9.5"
|
||||||
__description__ = "Facebook Chat (Messenger) for Python"
|
__description__ = "Facebook Chat (Messenger) for Python"
|
||||||
|
|
||||||
__copyright__ = "Copyright 2015 - 2019 by Taehoon Kim"
|
__copyright__ = "Copyright 2015 - 2019 by Taehoon Kim"
|
||||||
|
@@ -2271,6 +2271,16 @@ class Client(object):
|
|||||||
elif delta_class == "ForcedFetch":
|
elif delta_class == "ForcedFetch":
|
||||||
mid = delta.get("messageId")
|
mid = delta.get("messageId")
|
||||||
if mid is None:
|
if mid is None:
|
||||||
|
if delta["threadKey"] is not None:
|
||||||
|
# Looks like the whole delta is metadata in this case
|
||||||
|
thread_id, thread_type = getThreadIdAndThreadType(delta)
|
||||||
|
self.onPendingMessage(
|
||||||
|
thread_id=thread_id,
|
||||||
|
thread_type=thread_type,
|
||||||
|
metadata=delta,
|
||||||
|
msg=delta,
|
||||||
|
)
|
||||||
|
else:
|
||||||
self.onUnknownMesssageType(msg=delta)
|
self.onUnknownMesssageType(msg=delta)
|
||||||
else:
|
else:
|
||||||
thread_id = str(delta["threadKey"]["threadFbId"])
|
thread_id = str(delta["threadKey"]["threadFbId"])
|
||||||
@@ -2727,6 +2737,14 @@ class Client(object):
|
|||||||
msg=delta,
|
msg=delta,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# New pending message
|
||||||
|
elif delta_class == "ThreadFolder" and delta.get("folder") == "FOLDER_PENDING":
|
||||||
|
# Looks like the whole delta is metadata in this case
|
||||||
|
thread_id, thread_type = getThreadIdAndThreadType(delta)
|
||||||
|
self.onPendingMessage(
|
||||||
|
thread_id=thread_id, thread_type=thread_type, metadata=delta, msg=delta
|
||||||
|
)
|
||||||
|
|
||||||
# Unknown message type
|
# Unknown message type
|
||||||
else:
|
else:
|
||||||
self.onUnknownMesssageType(msg=delta)
|
self.onUnknownMesssageType(msg=delta)
|
||||||
@@ -2949,6 +2967,21 @@ class Client(object):
|
|||||||
"""
|
"""
|
||||||
log.info("{} from {} in {}".format(message_object, thread_id, thread_type.name))
|
log.info("{} from {} in {}".format(message_object, thread_id, thread_type.name))
|
||||||
|
|
||||||
|
def onPendingMessage(
|
||||||
|
self, thread_id=None, thread_type=None, metadata=None, msg=None
|
||||||
|
):
|
||||||
|
"""Called when the client is listening, and somebody that isn't
|
||||||
|
connected with you on either Facebook or Messenger sends a message.
|
||||||
|
After that, you need to use fetchThreadList to actually read the message.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
thread_id: Thread ID that the message was sent to. See :ref:`intro_threads`
|
||||||
|
thread_type (ThreadType): Type of thread that the message was sent to. See :ref:`intro_threads`
|
||||||
|
metadata: Extra metadata about the message
|
||||||
|
msg: A full set of the data received
|
||||||
|
"""
|
||||||
|
log.info("New pending message from {}".format(thread_id))
|
||||||
|
|
||||||
def onColorChange(
|
def onColorChange(
|
||||||
self,
|
self,
|
||||||
mid=None,
|
mid=None,
|
||||||
|
Reference in New Issue
Block a user