Add Message.forward method

This commit is contained in:
Danipulok 2022-10-18 08:07:41 +03:00
parent 01028f10eb
commit 912e1011f9
2 changed files with 27 additions and 0 deletions

View file

@ -17,6 +17,7 @@ if TYPE_CHECKING:
EditMessageCaption,
EditMessageReplyMarkup,
EditMessageText,
ForwardMessage,
SendAnimation,
SendAudio,
SendContact,
@ -1820,6 +1821,22 @@ class Message(TelegramObject):
reply_markup=reply_markup,
)
def forward(
self,
chat_id: Union[int, str],
disable_notification: Optional[bool] = None,
protect_content: Optional[bool] = None,
) -> ForwardMessage:
from ..methods import ForwardMessage
return ForwardMessage(
chat_id=chat_id,
from_chat_id=self.chat.id,
message_id=self.message_id,
disable_notification=disable_notification,
protect_content=protect_content,
)
def edit_reply_markup(
self,
reply_markup: Optional[InlineKeyboardMarkup] = None,

View file

@ -9,6 +9,7 @@ from aiogram.methods import (
EditMessageCaption,
EditMessageReplyMarkup,
EditMessageText,
ForwardMessage,
SendAnimation,
SendAudio,
SendContact,
@ -619,6 +620,15 @@ class TestMessage:
assert isinstance(method, EditMessageText)
assert method.chat_id == message.chat.id
def test_forward(self):
message = Message(
message_id=42, chat=Chat(id=42, type="private"), date=datetime.datetime.now()
)
method = message.forward(chat_id=69)
assert isinstance(method, ForwardMessage)
assert method.chat_id == 69
assert method.from_chat_id == message.chat.id
def test_edit_reply_markup(self):
reply_markup = InlineKeyboardMarkup(
inline_keyboard=[