У меня бот построен по такому принципу:
1) Появляется сообщение и кнопка
2) Кликаем по кнопке, бот удаляет по айдишнику сообщение и выдает новое.
Но если пользователь, допустим запускает бота два раза, и пролистывает к старым сообщения и жмет кнопку, бот пытается удалить сообщение у которого уже новое айди, соответственно бот вылетает.
Код:
bot.start( async (ctx)=>{
//записываю в переменную resultStart, чтобы потом достать адишник сообщения и удалить
//Допустим записал тут id сообщения = 500
resultStart = await ctx.reply('текст бота', keyboard)
)}
//следующее действие если кликнет пользователь:
bot.action( 'interes', async ctx => {
//если переменная есть, успешно удаляется
if (resultStart) {
await bot.telegram.deleteMessage(resultStart.message_id)
await ctx.reply('текст бота', keyboard)
}
})
//И вдруг пользователь нажимает опять запустить бота, происходит тоже самое, но уже resultStart запишет id 501
//И тут пользователь переходит не к последней кнопке, а к той что в первом запуске бота была, нажимаем кнопку
//И бот пытается удалить сообщение с id 500, а его уже нет, он же уже 501. И вылетает..
Как решить данную проблему?