diff --git a/src/domain/message.py b/src/domain/message.py index 5828d7e..ac0c686 100644 --- a/src/domain/message.py +++ b/src/domain/message.py @@ -24,7 +24,7 @@ class Message(AbstractEntity): """ Returns True if the message has text. """ - return self.message.text.strip() != '' + return self.message.text is not None and self.message.text.strip() != '' def is_sticker(self): """ diff --git a/src/handler/message_handler.py b/src/handler/message_handler.py index 239f899..3f2f3ae 100644 --- a/src/handler/message_handler.py +++ b/src/handler/message_handler.py @@ -59,6 +59,8 @@ class MessageHandler(ParentHandler): if should_answer: text = self.reply_generator.generate(message) + if text is None: + return reply_id = None if not message.is_reply_to_bot() else message.message.message_id logging.debug("[Chat %s %s answer/reply] %s" % diff --git a/src/service/reply_generator.py b/src/service/reply_generator.py index 0199267..75f2fb3 100644 --- a/src/service/reply_generator.py +++ b/src/service/reply_generator.py @@ -27,10 +27,10 @@ class ReplyGenerator: words = self.tokenizer.extract_words(message) pairs = [trigram[:-1] for trigram in self.tokenizer.split_to_trigrams(words)] messages = [self.__generate_best_message(chat_id=message.chat_id, pair=pair) for pair in pairs] - longest_message = max(messages, key=len) if len(messages) else '' + longest_message = max(messages, key=len) if len(messages) else None if longest_message and strings_has_equal_letters(longest_message, ''.join(words)): - return '' + return None return longest_message