From 7ac246b8016efd7e5b616754dc26ff81d9df321b Mon Sep 17 00:00:00 2001 From: eternnoir Date: Wed, 15 Nov 2017 00:42:27 +0800 Subject: [PATCH] Fix inline_query_handler not work. --- telebot/__init__.py | 12 ++++++------ tests/test_telebot.py | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/telebot/__init__.py b/telebot/__init__.py index 44dd27b..37244b7 100644 --- a/telebot/__init__.py +++ b/telebot/__init__.py @@ -1260,12 +1260,12 @@ class TeleBot: def _notify_command_handlers(self, handlers, new_messages): for message in new_messages: # if message has next step handler, dont exec command handlers - if (isinstance(message, types.CallbackQuery)) or \ - (isinstance(message, types.Message) and (message.chat.id not in self.message_subscribers_next_step)): - for message_handler in handlers: - if self._test_message_handler(message_handler, message): - self._exec_task(message_handler['function'], message) - break + if hasattr(message, 'chat') and message.chat and (message.chat.id in self.message_subscribers_next_step): + continue + for message_handler in handlers: + if self._test_message_handler(message_handler, message): + self._exec_task(message_handler['function'], message) + break class AsyncTeleBot(TeleBot): diff --git a/tests/test_telebot.py b/tests/test_telebot.py index 4d1b512..3773ae4 100644 --- a/tests/test_telebot.py +++ b/tests/test_telebot.py @@ -201,7 +201,8 @@ class TestTeleBot: def test_send_audio_dis_noti(self): file_data = open('./test_data/record.mp3', 'rb') tb = telebot.TeleBot(TOKEN) - ret_msg = tb.send_audio(CHAT_ID, file_data, 1, performer='eternnoir', title='pyTelegram', disable_notification=True) + ret_msg = tb.send_audio(CHAT_ID, file_data, 1, performer='eternnoir', title='pyTelegram', + disable_notification=True) assert ret_msg.content_type == 'audio' assert ret_msg.audio.performer == 'eternnoir' assert ret_msg.audio.title == 'pyTelegram'