From 651067948e9856acb4e39b3ff11eb1b443f227ef Mon Sep 17 00:00:00 2001 From: Revisto Date: Thu, 13 Jun 2024 15:33:32 +0330 Subject: [PATCH 1/2] Add client_context field to DirectMessage class --- instagrapi/extractors.py | 1 + instagrapi/types.py | 1 + 2 files changed, 2 insertions(+) diff --git a/instagrapi/extractors.py b/instagrapi/extractors.py index 1a79788d..d2c9ae20 100644 --- a/instagrapi/extractors.py +++ b/instagrapi/extractors.py @@ -344,6 +344,7 @@ def extract_direct_message(data): int(data["timestamp"]) // 1_000_000 ) data["user_id"] = str(data.get("user_id", "")) + data["client_context"] = data.get("client_context", "") return DirectMessage(**data) diff --git a/instagrapi/types.py b/instagrapi/types.py index 1c085a97..bde74b14 100644 --- a/instagrapi/types.py +++ b/instagrapi/types.py @@ -392,6 +392,7 @@ class DirectMessage(TypesBaseModel): xma_share: Optional[MediaXma] = None clip: Optional[Media] = None placeholder: Optional[dict] = None + client_context: Optional[str] = None class DirectResponse(TypesBaseModel): From 19d429ef9454790f4aa38a2167a852659dd184a7 Mon Sep 17 00:00:00 2001 From: Revisto Date: Thu, 13 Jun 2024 15:34:26 +0330 Subject: [PATCH 2/2] feat: Add reply_to_message functionality in direct send --- instagrapi/mixins/direct.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/instagrapi/mixins/direct.py b/instagrapi/mixins/direct.py index 342444f9..9e673254 100644 --- a/instagrapi/mixins/direct.py +++ b/instagrapi/mixins/direct.py @@ -389,6 +389,7 @@ def direct_send( user_ids: List[int] = [], thread_ids: List[int] = [], send_attribute: SEND_ATTRIBUTE = "message_button", + reply_to_message: Optional[DirectMessage] = None, ) -> DirectMessage: """ Send a direct message to list of users or threads @@ -450,6 +451,10 @@ def direct_send( kwargs["thread_ids"] = dumps([int(tid) for tid in thread_ids]) if user_ids: kwargs["recipient_users"] = dumps([[int(uid) for uid in user_ids]]) + if reply_to_message: + kwargs["replied_to_action_source"] = "swipe" + kwargs["replied_to_item_id"] = reply_to_message.id + kwargs["replied_to_client_context"] = reply_to_message.client_context result = self.private_request( f"direct_v2/threads/broadcast/{method}/", data=self.with_default_data(kwargs),