From 251a549cd28168a08a0c270544f37e2c9c6c119b Mon Sep 17 00:00:00 2001 From: Javier San Juan Cervera Date: Wed, 6 Nov 2019 18:09:57 +0100 Subject: [PATCH] A Conversation should not add a message when it is the same as the latest one added. --- connect/models/conversation.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/connect/models/conversation.py b/connect/models/conversation.py index 9b11e12..e127849 100644 --- a/connect/models/conversation.py +++ b/connect/models/conversation.py @@ -48,6 +48,16 @@ def add_message(self, message, config=None): """ from connect.resources.base import ApiClient - response, _ = ApiClient(config, base_path='conversations/' + self.id + '/messages')\ - .post(json={'text': message}) - return ConversationMessage.deserialize(response) + + if self._is_different_to_last_message(message): + response, _ = ApiClient(config, base_path='conversations/' + self.id + '/messages')\ + .post(json={'text': message}) + return ConversationMessage.deserialize(response) + else: + return None + + def _is_different_to_last_message(self, msg): + if len(self.messages) > 0 and self.messages[-1].text == msg: + return False + else: + return True