Как проверить длину присланного сообщения

Пишу чат-бота в telegram на языке Python 3.10 и aiogram 2.x

Столкнулся с следующей проблемой: когда пользователь присылает в бот сообщение с более чем 4096 символами, то в обработчик, по всей видимости, приходит два апдейта (потому-что следующий код делает два print`а). Вопрос: Как узнать длину сообщения присланного пользователем?

@dp.message_handler(state='*')
async def test(message: types.Message):
    print(len(message.text))

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

Автор решения: Maxim Titov

Выведи в консоль все атрибуты новых сообщений, запусти сервис, отправь то, которое короче 4096, а потом, то, которое длиннее.

Если параметры (исключая message.text) идентичны, то поможет следующее:

Смотреть на длину сообщения каждый раз. У каждого сообщения свой id, и если длина сообщения == 4096, то через время "t" проверять, есть ли следующее по id, а дальше время отправки, оно должно быть минимальным, но каким именно - зависит от интернет-соединения юзера. Так что, с "t" поиграться придётся.

А если нет, то смотри на те параметры, которые отличаются, и ответ ищи там)

→ Ссылка