@knyaz_ostrov

Как получить ID сообщения бота в python TelegramBotApi, либо aiogram?

Мне нужно, чтобы бот определил ID своего последнего сообщения, чтобы потом его удалить.
  • Вопрос задан
  • 9393 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Van0ne
Для бота, которым будет пользоваться более 1 человека лучше не прибегать к способу:
@dp.message_handler()
async def other_command(message: types.Message):
    next_id = message.message_id + 1

В этом случае мы записываем id сообщения, которого ещё не существует, если другой пользователь отправит сообщение раньше, чем бот, то message.message_id + 1 присвоится именно сообщению другого пользователя.
Бот не сможет удалить сообщение с next_id = message.message_id + 1, и возникнет ошибка "Message can't be edited"
Для много пользовательского бота, что бы не возникало такой ситуации лучше написать:
@dp.message_handler()
async def bot_answer(message: types.Message):
    msg = await message.answer('Последнее сообщение бота')
    next_id = msg.message_id
Ответ написан
@StickySkull
Единственный вариант который приходит в голову это последнее сообщение пользователя + 1.
То есть:
@dp.message_handler()
async def other_command(message: types.Message):
    next_id = message.message_id + 1

next_id - id любого следующего сообщения, не важно от кого.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы