diff --git a/src/helpers.py b/src/helpers.py index 8ebfedf..f9f8ee5 100644 --- a/src/helpers.py +++ b/src/helpers.py @@ -130,11 +130,13 @@ def represent_as_get(message: types.Message): def detect_args(message: types.Message): if message.reply_to_message and message.reply_to_message.text: if len(message.text.split()) == 1: - return message.reply_to_message.text - else: + # Есть цитата, нет аргументов: ищем текст из цитаты. + return (message.quote and message.quote.text) or message.reply_to_message.text + elif len(message.text.split()) > 1: + # Есть цитата, есть аргументы: ищем текст из аргументов. return " ".join(message.text.split()[1:]) - else: - if len(message.text.split()) > 1: + elif len(message.text.split()) > 1: + # Нет цитаты, есть аргументы: ищем текст из аргументов. return " ".join(message.text.split()[1:]) diff --git a/tests/test_bot.py b/tests/test_bot.py index 1577605..78e983c 100644 --- a/tests/test_bot.py +++ b/tests/test_bot.py @@ -60,8 +60,14 @@ def _all_nones(): my_chat_member = None chat_member = None chat_join_request = None + message_reaction = None + message_reaction_count = None + removed_chat_boost = None + chat_boost = None + return (edited_message, channel_post, edited_channel_post, inline_query, chosen_inline_result, callback_query, - shipping_query, pre_checkout_query, poll, poll_answer, my_chat_member, chat_member, chat_join_request) + shipping_query, pre_checkout_query, poll, poll_answer, my_chat_member, chat_member, chat_join_request, + message_reaction, message_reaction_count, removed_chat_boost, chat_boost) def get_update(text, reply_to=None, user_id=10, first_name='Some User'):