Симптом
Бот (maxapi 1.2.2, long polling via dp.start_polling) не отвечает на голосовые.
В логе:
WARNING:maxapi.methods.types.getted_updates:Получен неизвестный тип обновления: message_created.
Сырое обновление из polling:
{"timestamp": 1786966682795, "user_locale": "ru", "update_type": "message_created"}
То есть update приходит БЕЗ поля message. Валидатор MessageCreated его отклоняет
(поле обязательное) и update молча пропускается в process_update_request.
Что работает в том же polling
- Текст -> message_created c message.body.text — OK
- Картинка -> message_created c message + Image в attachments — OK
- Голос -> message_created БЕЗ message — дропается
Вопросы (прошу уточнить, т.к. в доках ответа нет)
- Должно ли голосовое приходить через GET /updates как полный message_created
с Audio в attachments (включая поле transcription)? Или медиа-вложения в polling
не передаются в принципе (тогда это ожидаемое поведение, и надо просто документировать)?
- Если медиа в polling передаются — тогда почему у голосового нет message:
это баг обработки на стороне maxapi или сервер отдаёт такой update?
- Нужно ли подписываться на какой-то дополнительный update_type, чтобы получать голосовые?
- Для диагностики: что должен отдать сервер на голосовое в polling по ожиданиям
авторов maxapi (пример raw update JSON)?
Воспроизведение
- dp.start_polling(bot)
- Отправить голосовое в приватный чат
- Бот молчит, лог выше
Контекст
- maxapi 1.2.2, Python 3.12
- Long polling официально ограничен (скорость/хранение), webhook рекомендуется —
но в доках Update не сказано про медиа в polling.
Возможно связанное
Симптом
Бот (maxapi 1.2.2, long polling via dp.start_polling) не отвечает на голосовые.
В логе:
Сырое обновление из polling:
{"timestamp": 1786966682795, "user_locale": "ru", "update_type": "message_created"}То есть update приходит БЕЗ поля message. Валидатор MessageCreated его отклоняет
(поле обязательное) и update молча пропускается в process_update_request.
Что работает в том же polling
Вопросы (прошу уточнить, т.к. в доках ответа нет)
с Audio в attachments (включая поле transcription)? Или медиа-вложения в polling
не передаются в принципе (тогда это ожидаемое поведение, и надо просто документировать)?
это баг обработки на стороне maxapi или сервер отдаёт такой update?
авторов maxapi (пример raw update JSON)?
Воспроизведение
Контекст
но в доках Update не сказано про медиа в polling.
Возможно связанное
Фикс пустого
MessageCreated.messageK1rL3s/maxo#140