Обновить

Как я устал дебажить MAX API, отреверсил их вебхуки и отучил Cursor галлюцинировать

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели19K
Всего голосов 31: ↑12 и ↓19-5
Комментарии16

Комментарии 16

Самое интересное - попросить написать скрипт для реверс-инжиниринга пакетов. Вполне возможно что при сопоставлении с RAG документацией эта ошибка будет найдена. Тогда вопрос - можно ли это автоматизировать средствами самого курсора или вскода. Получится тогда тест-обёртка спецификаций - весьма полезная штука от ленивых разработчиков документации.

Во время чтения статьи постоянно было ощущение, что рук здесь нет у автора, а не у создателей api. Сейчас ради интереса открыл доки их api, с которыми раньше вообще не работал, и первое же что я вижу - это update, которого якобы

Обертка (Update Wrapper): В доках написано, что тебе приходит чистый объект Message. В реальности всё завернуто в мета-контейнер: корень JSON содержит update_type и user_locale, а сам message уже запрятан внутри

там нет.

Ну и предъяву

  1. Архитектура кнопок (Callbacks): В Телеге при нажатии кнопки message вложено внутрь CallbackQuery. В Максе инфа о нажатии (callback) и само сообщение (message) приходят на одном уровне, как братья. ID того, кто нажал кнопку, нужно искать в callback.user.user_id, а не в отправителе сообщения.

Я тоже не понял. Для меня звучит логично. Просто надо не втупую всё нейронкам кормить а самому в коде разбираться

Верно отметили. Ещё когда не было возможности у любого создания там ботов, как и каналов, глянул API, и как ни странно, выглядело уже ближе к середине - концу 2025 вполне прилично. А авторов со слабым пониманием "их" кода на Хабре всё больше. Увы...

Вот оно, покаление вайб-кода. Можно узнать где в документации написано, что вам прилетает message, когда в подписке белым по черному, и даже на русском языке написано, что вы подписываетест на update, и там даже сразу дана ссылка на объект update?

Про время могу согласиться, но должно же было натолкнуть на мысль разрядность int64 ( обычное влезает в int32). Проверяйте за нейронкой, много времени съэкономите.

TLDR: отличное от telegram приложение имеет отличный от telegram API. Для написания обёртки под вышеуказанной API потребовались часы работы и помощь ИИ агента.

Может у меня уже PTSD, но статья тоже нейрослоп?:

... (Docs vs Реальность)

... — улетаешь в 57000-й год.

В реальности...(x10)

Да, тоже заметил, если не полностью, так доработать. Предположу, что Qwen, ибо chatgpt

И ведь не стыдно не то что пользоваться, а пилить контент под этот вирусняк.

Полезно

МАH конь, в конце и на ...(Нет) Под конем...

Аналогия к Трои

Спасибо за ваш вдумчивый и информативный комментарий :)

После телеграм бот апи и телеграм апи, там же как в песочнице поковыряться, не понял проблемы вообще

Я тоже считаю, что апи с телеграмом практически идентичны. Вот я и описал главные различия, в которые могут уперется разработчики, переходя из Telegram Bot API в Max API

А зачем привязываться к used_id на колбеках? А если у тебя 2 3 ветки колбэков в чате с 1 юзером? Мне кажется mid самое оно, макс вроде на него заточен, и вообще вся эта типизация - у кого-то много времени, делаешь path поиск по json и вообще по барабану что туда накидают и в какой версии....

Ии реверс инженер документации))

Я как-то хотел написать библиотеку для работы с API-шкой ботов MAX'a(у нас на проекте используется своя библиотека для работы с Telegram ботами). По итогу в первый час этого занятия я почувствовал что такое эта "документация" MAX'a, много чего не описано.
Забил и взял их готовую библиотеку, не стал вникать и заморачиваться с этим

Поэтому так ценится библиотека на python от love apples. Советую на ней разрабатывать

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации