как удалить сообщение отправленное ботом в процессе использования функции register_next_step_handler

Как удалить сообщение "Введите Ваше имя:", которое было отправлено ботом

bot.send_message(message.chat.id, "Введите Ваше имя: ")

bot.register_next_step_handler(message, next_func)

bot.delete_message(message.chat.id, message.message_id)
  • не работает(

Ответы (2 шт):

Автор решения: Andrey Dolgopolov

Не знаю на сколько правильно с точки зрения профессионалов, но вот рабочий код. Вы на следующем шаге (после вопроса про имя) удаляете сообщение с id-1

@bot.message_handler(commands=["start"])
def first(message):
    bot.send_message(message.chat.id, "Введите ваше имя: ")
    bot.register_next_step_handler(message, second)
def second(message):
    bot.delete_message(message.chat.id, message.message_id-1)
    bot.send_message(message.chat.id, "Следующий вопрос: ")
→ Ссылка
Автор решения: Kiril Naumchenko

Так же можно присвоить отправляемому сообщению идентификатор, и сообщение в последствии можно будет удалить с любого места:

message_id_to_del = bot.send_message(message.chat.id, "Введите имя: ").message_id

...

bot.delete_message(message.chat.id, message_id_to_del)

→ Ссылка