From b45bd4faf717c09c7f9c700b9a87090eb17f2d00 Mon Sep 17 00:00:00 2001 From: khushal Date: Tue, 28 Jan 2025 13:29:06 +0530 Subject: [PATCH] (20250128) Handling Null in WhatsApp Nimbus's 'msg' field. --- .../whatsapp/nimbus/controllers/async_nimbus_whatsapp.py | 9 +++++---- utils_v2/whatsapp/nimbus/models/send_message_response.py | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/utils_v2/whatsapp/nimbus/controllers/async_nimbus_whatsapp.py b/utils_v2/whatsapp/nimbus/controllers/async_nimbus_whatsapp.py index 74b1d3f..5315167 100644 --- a/utils_v2/whatsapp/nimbus/controllers/async_nimbus_whatsapp.py +++ b/utils_v2/whatsapp/nimbus/controllers/async_nimbus_whatsapp.py @@ -153,7 +153,7 @@ class AsyncNimbusWhatsapp: async def send_whatsapp( self, recipient_number: str | List[str], - message: str, + message: str = None, pdf_url: str = None, image_0_url: str = None, image_1_url: str = None, @@ -174,7 +174,7 @@ class AsyncNimbusWhatsapp: # Start by constructing the response model: send_model = NimbusWhatsappSendMessageResponse( recipientNo = recipient_number, - message = message, + message = message or " ", pdfUrl = pdf_url, image0Url = image_0_url, image1Url = image_1_url, @@ -217,11 +217,12 @@ if __name__ == "__main__": async def main(): - sender = AsyncNimbusWhatsapp(api_key = "2c6175138e964ee8a6adc2af8faab726") + sender = AsyncNimbusWhatsapp(api_key = "2c6175138e964ee8a6adc2af8faab727") api_result = await sender.send_whatsapp( recipient_number = "919870391155", - message = "Test message :)" + # message = " ", + image_0_url = r"https://cdn.britannica.com/39/226539-050-D21D7721/Portrait-of-a-cat-with-whiskers-visible.jpg" ) print("WHATSAPP API RESULT:", api_result) print("WHATSAPP API RESULT:", json.to_string(api_result.model_dump(), default = str)) diff --git a/utils_v2/whatsapp/nimbus/models/send_message_response.py b/utils_v2/whatsapp/nimbus/models/send_message_response.py index 4ae4fff..4a4972c 100644 --- a/utils_v2/whatsapp/nimbus/models/send_message_response.py +++ b/utils_v2/whatsapp/nimbus/models/send_message_response.py @@ -99,9 +99,10 @@ class NimbusWhatsappSendMessageResponse(BaseModel): frozen = True ) - message: str = Field( + message: str | None = Field( description = "The actual message to send to the recipient(s).", - frozen = True + frozen = True, + default = None ) pdfUrl: str | None = Field( @@ -206,7 +207,7 @@ class NimbusWhatsappSendMessageResponse(BaseModel): # Start with the bare minimum: api_input = { "mobile": ",".join(self.recipientNo), - "msg": self.message + "msg": self.message or " " } # Add the optional media elements: