Wrapper for editMessageText method written
This commit is contained in:
parent
12bc2eba44
commit
fd815e4c64
@ -840,6 +840,60 @@ class Bot(TelegramBot, ObjectWithDatabase):
|
||||
)
|
||||
return sent_message_update
|
||||
|
||||
async def edit_message_text(self, text,
|
||||
chat_id=None, message_id=None,
|
||||
inline_message_id=None,
|
||||
parse_mode='HTML',
|
||||
disable_web_page_preview=None,
|
||||
reply_markup=None,
|
||||
update=None):
|
||||
"""Edit message text, sending new messages if necessary.
|
||||
|
||||
This method wraps lower-level `TelegramBot.editMessageText` method.
|
||||
Pass an `update` to extract a message identifier from it.
|
||||
"""
|
||||
if update is not None:
|
||||
message_identifier = self.get_message_identifier(update)
|
||||
if 'chat_id' in message_identifier:
|
||||
chat_id = message_identifier['chat_id']
|
||||
message_id = message_identifier['message_id']
|
||||
if 'inline_message_id' in message_identifier:
|
||||
inline_message_id = message_identifier['inline_message_id']
|
||||
for i, text_chunk in enumerate(
|
||||
self.split_message_text(
|
||||
text=text,
|
||||
limit=self.__class__.TELEGRAM_MESSAGES_MAX_LEN - 200,
|
||||
parse_mode=parse_mode
|
||||
)
|
||||
):
|
||||
if i == 0:
|
||||
edited_message = await self.editMessageText(
|
||||
text=text_chunk,
|
||||
chat_id=chat_id,
|
||||
message_id=message_id,
|
||||
inline_message_id=inline_message_id,
|
||||
parse_mode=parse_mode,
|
||||
disable_web_page_preview=disable_web_page_preview,
|
||||
reply_markup=reply_markup
|
||||
)
|
||||
if chat_id is None:
|
||||
# Cannot send messages without a chat_id
|
||||
# Inline keyboards attached to inline query results may be
|
||||
# in chats the bot cannot reach.
|
||||
break
|
||||
else:
|
||||
await self.send_message(
|
||||
text=text,
|
||||
chat_id=chat_id,
|
||||
parse_mode=parse_mode,
|
||||
disable_web_page_preview=disable_web_page_preview,
|
||||
reply_markup=reply_markup,
|
||||
update=update,
|
||||
reply_to_update=True,
|
||||
send_default_keyboard=False
|
||||
)
|
||||
return edited_message
|
||||
|
||||
async def send_photo(self, chat_id=None, photo=None,
|
||||
caption=None,
|
||||
parse_mode=None,
|
||||
|
Loading…
x
Reference in New Issue
Block a user