From e32a45f4f886137ce1927f366de45ab8f4028234 Mon Sep 17 00:00:00 2001 From: Bunk100 <37146584+Bunk100@users.noreply.github.com> Date: Sat, 12 Oct 2019 17:52:27 +0300 Subject: [PATCH 1/9] Update message.py Updated send_copy: Added the ability to specify reply_markup, parse_mode --- aiogram/types/message.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/aiogram/types/message.py b/aiogram/types/message.py index 5347027c..55b2b420 100644 --- a/aiogram/types/message.py +++ b/aiogram/types/message.py @@ -1567,30 +1567,37 @@ class Message(base.TelegramObject): async def send_copy( self: Message, chat_id: typing.Union[str, int], - with_markup: bool = False, disable_notification: typing.Optional[bool] = None, reply_to_message_id: typing.Optional[int] = None, + reply_markup: typing.Union[InlineKeyboardMarkup, ReplyKeyboardMarkup, None] = self.reply_markup, + parse_mode: typing.Union[base.String, None] = None, ) -> Message: """ Send copy of current message :param chat_id: - :param with_markup: :param disable_notification: :param reply_to_message_id: + :param reply_markup: + :param parse_mode: :return: """ - kwargs = {"chat_id": chat_id, "parse_mode": ParseMode.HTML} + kwargs = {"chat_id": chat_id} + text = self.text or self.caption if disable_notification is not None: kwargs["disable_notification"] = disable_notification if reply_to_message_id is not None: kwargs["reply_to_message_id"] = reply_to_message_id - if with_markup and self.reply_markup: + if parse_mode is not None: + kwargs["parse_mode"] = parse_mode + if parse_mode == 'html': + text = self.html_text if (self.text or self.caption) else None + if parse_mode == 'markdown': + text = self.md_text if (self.text or self.caption) else None + if reply_markup: kwargs["reply_markup"] = self.reply_markup - text = self.html_text if (self.text or self.caption) else None - if self.text: return await self.bot.send_message(text=text, **kwargs) elif self.audio: From 1f177360c4fc56150117cbcd1da22620490d623f Mon Sep 17 00:00:00 2001 From: Bunk100 <37146584+Bunk100@users.noreply.github.com> Date: Sat, 12 Oct 2019 17:59:32 +0300 Subject: [PATCH 2/9] Update message.py --- aiogram/types/message.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aiogram/types/message.py b/aiogram/types/message.py index 55b2b420..3eda6328 100644 --- a/aiogram/types/message.py +++ b/aiogram/types/message.py @@ -1596,7 +1596,7 @@ class Message(base.TelegramObject): if parse_mode == 'markdown': text = self.md_text if (self.text or self.caption) else None if reply_markup: - kwargs["reply_markup"] = self.reply_markup + kwargs["reply_markup"] = reply_markup if self.text: return await self.bot.send_message(text=text, **kwargs) From e57c761c408f832fac2394f896f4f012302a37ad Mon Sep 17 00:00:00 2001 From: Bunk100 <37146584+Bunk100@users.noreply.github.com> Date: Sat, 12 Oct 2019 18:03:31 +0300 Subject: [PATCH 3/9] Update message.py Second attempt to fix reply_markup --- aiogram/types/message.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aiogram/types/message.py b/aiogram/types/message.py index 3eda6328..819199ca 100644 --- a/aiogram/types/message.py +++ b/aiogram/types/message.py @@ -1569,7 +1569,7 @@ class Message(base.TelegramObject): chat_id: typing.Union[str, int], disable_notification: typing.Optional[bool] = None, reply_to_message_id: typing.Optional[int] = None, - reply_markup: typing.Union[InlineKeyboardMarkup, ReplyKeyboardMarkup, None] = self.reply_markup, + reply_markup: typing.Union[InlineKeyboardMarkup, ReplyKeyboardMarkup, None] = None, parse_mode: typing.Union[base.String, None] = None, ) -> Message: """ @@ -1582,7 +1582,7 @@ class Message(base.TelegramObject): :param parse_mode: :return: """ - kwargs = {"chat_id": chat_id} + kwargs = {"chat_id": chat_id, "reply_markup": self.reply_markup} text = self.text or self.caption if disable_notification is not None: From b172faf89f1d523a92173951a9be0f608cc68817 Mon Sep 17 00:00:00 2001 From: Bunk100 <37146584+Bunk100@users.noreply.github.com> Date: Sat, 12 Oct 2019 18:22:44 +0300 Subject: [PATCH 4/9] Update message.py --- aiogram/types/message.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/aiogram/types/message.py b/aiogram/types/message.py index 819199ca..6612b22a 100644 --- a/aiogram/types/message.py +++ b/aiogram/types/message.py @@ -1582,7 +1582,7 @@ class Message(base.TelegramObject): :param parse_mode: :return: """ - kwargs = {"chat_id": chat_id, "reply_markup": self.reply_markup} + kwargs = {"chat_id": chat_id, "reply_markup": reply_markup or self.reply_markup} text = self.text or self.caption if disable_notification is not None: @@ -1595,8 +1595,6 @@ class Message(base.TelegramObject): text = self.html_text if (self.text or self.caption) else None if parse_mode == 'markdown': text = self.md_text if (self.text or self.caption) else None - if reply_markup: - kwargs["reply_markup"] = reply_markup if self.text: return await self.bot.send_message(text=text, **kwargs) From 1cd4712eb412af97c203245e3c6804b41d7b261f Mon Sep 17 00:00:00 2001 From: Bunk100 <37146584+Bunk100@users.noreply.github.com> Date: Sat, 12 Oct 2019 18:37:06 +0300 Subject: [PATCH 5/9] Update message.py Some fixes --- aiogram/types/message.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/aiogram/types/message.py b/aiogram/types/message.py index 6612b22a..4b8baa02 100644 --- a/aiogram/types/message.py +++ b/aiogram/types/message.py @@ -1582,19 +1582,15 @@ class Message(base.TelegramObject): :param parse_mode: :return: """ - kwargs = {"chat_id": chat_id, "reply_markup": reply_markup or self.reply_markup} + kwargs = {"chat_id": chat_id, "reply_markup": reply_markup or self.reply_markup, "parse_mode": parse_mode or ParseMode.HTML} text = self.text or self.caption if disable_notification is not None: kwargs["disable_notification"] = disable_notification if reply_to_message_id is not None: kwargs["reply_to_message_id"] = reply_to_message_id - if parse_mode is not None: - kwargs["parse_mode"] = parse_mode - if parse_mode == 'html': - text = self.html_text if (self.text or self.caption) else None - if parse_mode == 'markdown': - text = self.md_text if (self.text or self.caption) else None + if not kwargs.get("reply_markup"): + kwargs.pop("reply_markup") if self.text: return await self.bot.send_message(text=text, **kwargs) From 68ce9687ec4542a72bd427148decacb30e391273 Mon Sep 17 00:00:00 2001 From: Bunk100 <37146584+Bunk100@users.noreply.github.com> Date: Sat, 12 Oct 2019 18:38:13 +0300 Subject: [PATCH 6/9] Update message.py --- aiogram/types/message.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aiogram/types/message.py b/aiogram/types/message.py index 4b8baa02..5a67b180 100644 --- a/aiogram/types/message.py +++ b/aiogram/types/message.py @@ -1583,7 +1583,7 @@ class Message(base.TelegramObject): :return: """ kwargs = {"chat_id": chat_id, "reply_markup": reply_markup or self.reply_markup, "parse_mode": parse_mode or ParseMode.HTML} - text = self.text or self.caption + text = self.html_text if (self.text or self.caption) else None if disable_notification is not None: kwargs["disable_notification"] = disable_notification From bbfc994073e7c5f34091489f1a0133032d845a2e Mon Sep 17 00:00:00 2001 From: Bunk100 <37146584+Bunk100@users.noreply.github.com> Date: Sat, 12 Oct 2019 18:42:24 +0300 Subject: [PATCH 7/9] Update message.py --- aiogram/types/message.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/aiogram/types/message.py b/aiogram/types/message.py index 5a67b180..441e176c 100644 --- a/aiogram/types/message.py +++ b/aiogram/types/message.py @@ -1582,15 +1582,17 @@ class Message(base.TelegramObject): :param parse_mode: :return: """ - kwargs = {"chat_id": chat_id, "reply_markup": reply_markup or self.reply_markup, "parse_mode": parse_mode or ParseMode.HTML} + kwargs = { + "chat_id": chat_id, + "reply_markup": reply_markup or self.reply_markup, + "parse_mode": parse_mode or ParseMode.HTML + } text = self.html_text if (self.text or self.caption) else None if disable_notification is not None: kwargs["disable_notification"] = disable_notification if reply_to_message_id is not None: kwargs["reply_to_message_id"] = reply_to_message_id - if not kwargs.get("reply_markup"): - kwargs.pop("reply_markup") if self.text: return await self.bot.send_message(text=text, **kwargs) From 37e6428b7bc30067726a6663659da2a3af581607 Mon Sep 17 00:00:00 2001 From: Bunk100 <37146584+Bunk100@users.noreply.github.com> Date: Sat, 12 Oct 2019 22:56:48 +0300 Subject: [PATCH 8/9] Update message.py deleted parse_mode arg from send_copy args --- aiogram/types/message.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/aiogram/types/message.py b/aiogram/types/message.py index 441e176c..45235722 100644 --- a/aiogram/types/message.py +++ b/aiogram/types/message.py @@ -1570,7 +1570,6 @@ class Message(base.TelegramObject): disable_notification: typing.Optional[bool] = None, reply_to_message_id: typing.Optional[int] = None, reply_markup: typing.Union[InlineKeyboardMarkup, ReplyKeyboardMarkup, None] = None, - parse_mode: typing.Union[base.String, None] = None, ) -> Message: """ Send copy of current message @@ -1585,7 +1584,7 @@ class Message(base.TelegramObject): kwargs = { "chat_id": chat_id, "reply_markup": reply_markup or self.reply_markup, - "parse_mode": parse_mode or ParseMode.HTML + "parse_mode": ParseMode.HTML } text = self.html_text if (self.text or self.caption) else None From a6c8e4c2494b10a9d1ab9cc20e62b8da5cf8fbd0 Mon Sep 17 00:00:00 2001 From: Bunk100 <37146584+Bunk100@users.noreply.github.com> Date: Sat, 12 Oct 2019 23:06:41 +0300 Subject: [PATCH 9/9] Update message.py --- aiogram/types/message.py | 1 - 1 file changed, 1 deletion(-) diff --git a/aiogram/types/message.py b/aiogram/types/message.py index 45235722..49626060 100644 --- a/aiogram/types/message.py +++ b/aiogram/types/message.py @@ -1578,7 +1578,6 @@ class Message(base.TelegramObject): :param disable_notification: :param reply_to_message_id: :param reply_markup: - :param parse_mode: :return: """ kwargs = {