Задать вопрос
@Bobrero

Как зная ID пользователя, получить кол-во всех сообщений в личном чате с ботом/ID последнего сообщения, если оно уже обработано?

Неважно, сообщение было отправлено самим ботом или пользователем. Решения с базами данных, к сожалению не могу рассматривать. Желательно, чтобы метод работал как для aiogram 3, так и для aiogram 2.25.

Пока придумал костыль отправлять сообщение и узнавать его ID, а затем мгновенно удалять. Однако из-за этого последующие сообщения будут с другим ID, что недопустимо(
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
Lord_of_Rings
@Lord_of_Rings
Дунадан - северный странник. Злой, но очень добрый
...
bot = Bot(token=...)
...
async def get_chat_history(user_id: int):
    updates = await bot.get_updates()
    chat_messages = [update.message for update in updates if update.message and update.message.chat.id == user_id]
    return len(chat_messages), chat_messages[-1].message_id if chat_messages else None

Возвращает список, в котором нулевой элемент - кол-во сообщений, первый - id сообщения, если таковое было (если не было, то None)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы