Как проверить длину присланного сообщения
Пишу чат-бота в telegram на языке Python 3.10 и aiogram 2.x
Столкнулся с следующей проблемой: когда пользователь присылает в бот сообщение с более чем 4096 символами, то в обработчик, по всей видимости, приходит два апдейта (потому-что следующий код делает два print`а). Вопрос: Как узнать длину сообщения присланного пользователем?
@dp.message_handler(state='*')
async def test(message: types.Message):
print(len(message.text))
Ответы (1 шт):
Выведи в консоль все атрибуты новых сообщений, запусти сервис, отправь то, которое короче 4096, а потом, то, которое длиннее.
Если параметры (исключая message.text) идентичны, то поможет следующее:
Смотреть на длину сообщения каждый раз. У каждого сообщения свой id, и если длина сообщения == 4096, то через время "t" проверять, есть ли следующее по id, а дальше время отправки, оно должно быть минимальным, но каким именно - зависит от интернет-соединения юзера. Так что, с "t" поиграться придётся.
А если нет, то смотри на те параметры, которые отличаются, и ответ ищи там)