diff --git a/client/src/telethon/_impl/client/client/client.py b/client/src/telethon/_impl/client/client/client.py index 8b37a251..3ce81cbb 100644 --- a/client/src/telethon/_impl/client/client/client.py +++ b/client/src/telethon/_impl/client/client/client.py @@ -585,6 +585,7 @@ class Client: markdown: Optional[str] = None, html: Optional[str] = None, link_preview: bool = False, + buttons: Optional[Union[List[btns.Button], List[List[btns.Button]]]] = None, ) -> Message: """ Edit a message. @@ -599,6 +600,10 @@ class Client: :param markdown: See :ref:`formatting`. :param html: See :ref:`formatting`. :param link_preview: See :ref:`formatting`. + :param buttons: + The buttons to use for the message. + + Only bot accounts can send buttons. :return: The edited message. @@ -624,6 +629,7 @@ class Client: markdown=markdown, html=html, link_preview=link_preview, + buttons=buttons ) async def forward_messages( diff --git a/client/src/telethon/_impl/client/client/messages.py b/client/src/telethon/_impl/client/client/messages.py index 6288e25b..3017f72e 100644 --- a/client/src/telethon/_impl/client/client/messages.py +++ b/client/src/telethon/_impl/client/client/messages.py @@ -115,6 +115,7 @@ async def edit_message( markdown: Optional[str] = None, html: Optional[str] = None, link_preview: bool = False, + buttons: Optional[Union[List[btns.Button], List[List[btns.Button]]]] = None, ) -> Message: peer = (await self._resolve_to_packed(chat))._to_input_peer() message, entities = parse_message( @@ -128,7 +129,7 @@ async def edit_message( id=message_id, message=message, media=None, - reply_markup=None, + reply_markup=btns.build_keyboard(buttons), entities=entities, schedule_date=None, ) diff --git a/client/src/telethon/_impl/client/types/message.py b/client/src/telethon/_impl/client/types/message.py index c3cd833d..72fea18e 100644 --- a/client/src/telethon/_impl/client/types/message.py +++ b/client/src/telethon/_impl/client/types/message.py @@ -390,6 +390,7 @@ class Message(metaclass=NoPublicConstructor): markdown: Optional[str] = None, html: Optional[str] = None, link_preview: bool = False, + buttons: Optional[Union[List[Button], List[List[Button]]]] = None, ) -> Message: """ Alias for :meth:`telethon.Client.edit_message`. @@ -398,6 +399,10 @@ class Message(metaclass=NoPublicConstructor): :param markdown: See :ref:`formatting`. :param html: See :ref:`formatting`. :param link_preview: See :meth:`~telethon.Client.send_message`. + :param buttons: + The buttons to use for the message. + + Only bot accounts can send buttons. """ return await self._client.edit_message( self.chat, @@ -406,6 +411,7 @@ class Message(metaclass=NoPublicConstructor): markdown=markdown, html=html, link_preview=link_preview, + buttons=buttons, ) async def forward(self, target: ChatLike) -> Message: