How to get an old message ID with python telegram bot?

Viewed 1642

I have a Telegram channel with a bot inside it, which I use to send messages to the channel and edit them with this Python code

import telegram
bot = telegram.Bot(token=MY_TOKEN)
msg = bot.send_message(chat_id=MY_CHANNEL_ID, text="...") # send a message
msg = msg.edit_text("...") # edit the previous message

Sometimes the python bot crashes/closes for whatever reason, when I start the bot again how to recover the ID of a message sent during the previous session so that I'd be able to edit the message again?

I read about this method

bot.edit_message_text(text, chat_id=update.callback_query.message.chat_id,
                      message_id=update.callback_query.message.message_id)

I guess that for chat_id I have to use MY_CHANNEL_ID but what I don't understand is how to get the message_id of the old message


MANUAL SOLUTION

I found out that the message_id is just the number contained in the post link, so a workaround is to manually copy the post link of a message from the telegram client, for example if the post link is https://t.me/my_channel_name/207 then the message_id is 207 and to edit that message we have to run

bot.edit_message_text(text="...", chat_id=MY_CHANNEL_ID, message_id=207)
0 Answers
Related