Package Information
Available Nodes
Documentation
n8n-nodes-max
Набор функциональных нод для интеграции мессенджера MAX с n8n.
Установка
Для self-hosted n8n
В Settings → Community Nodes нажмите Install и укажите n8n-nodes-max. Устанавливать community nodes могут владелец и администраторы экземпляра n8n.
Для ручной установки выполните команды в окружении, где работает n8n, затем перезапустите n8n:
mkdir -p ~/.n8n/nodes
cd ~/.n8n/nodes
npm install n8n-nodes-max
Для n8n Cloud
В n8n Cloud доступны только проверенные community nodes из каталога нод. Если n8n-nodes-max отсутствует в вашем каталоге, установить его по имени npm-пакета в Cloud нельзя; используйте self-hosted n8n.
Полезные ссылки:
Для разработки
- После
npm installавтоматически устанавливается Husky pre-commit hook. - Перед коммитом запускается Prettier для staged исходников (
*.{ts,js,mjs,cjs,json,md,yml,yaml}).
Релиз
- Подготовьте изменения и закоммитьте их обычным git-коммитом.
- Выберите semver-тип релиза и создайте commit+tag командой
npm version patch,npm version minorилиnpm version major. - Запушьте ветку и теги командой
git push origin master --follow-tags. - GitHub Actions опубликует пакет в npm по пушу тега
v*.*.*.
Автопубликация использует npm Trusted Publisher через GitHub Actions OIDC, без NPM_TOKEN.
В настройках пакета npm trusted publisher должен указывать:
- Organization or user:
pfrankov - Repository:
n8n-nodes-max - Workflow filename:
publish-npm.yml - Allowed actions:
npm publish
Возможности
Функциональные ноды
Max Bot: сведения о боте и команды.Max Chat: сведения и настройки чата, действия бота, закреплённые сообщения и членство самого бота.Max Chat Administrator: получение, назначение и снятие администраторов.Max Chat Member: получение, удаление и блокировка участников.Max Comment: создание, чтение, изменение и удаление комментариев к постам каналов.Max Message: отправка, чтение, изменение и удаление сообщений, вложения и callback-ответы.Max Video: получение сведений для скачивания видео по токену.Max Subscription: получение, создание и удаление webhook-подписок.Max Trigger: входящие события через webhook.
Универсальные ноды Max и Max API удалены в версии 1.0.0. Обновление существующих workflow выполняется вручную по таблице миграции.
С 30 сентября 2026 года MAX удалил добавление участников через API, замены нет. Max Chat Member больше не предлагает Add для новых настроек. Сохранённая операция add не заменяется другой: при выполнении она сообщает об отключении метода без запроса к API. Удалите этот шаг или пересмотрите workflow.
Max Message
- Отправка текстовых сообщений с форматированием
- Автоматический fallback в plain text при ошибке Max API о неподдерживаемом Markdown
- Редактирование и удаление сообщений
- Для
Edit Messageнода отправляетmessage_idв query-параметре запросаPUT /messages?message_id=... - В
Edit MessageопцияDisable Link Previewдобавляетdisable_link_preview=trueв query-параметры запроса редактирования - В
Edit MessageопцияClear Attachmentsудаляет текущие вложения сообщения, включая inline-клавиатуру - Отправка файлов (изображения, видео, аудио, документы)
- Для вложений в
Send Messageдоступны три источника:Binary Data,URLи готовыйTokenMAX - В
Send Messageтекст не обязателен, если отправляются вложения - В
Send MessageчерезAdditional Fields → Reply to Message IDможно ответить на исходное сообщение, а черезForward Message ID— переслать оригинал - Нода не ограничивает вложения по расширению файла: формат проверяется на стороне Max API
- Payload вложения зависит от типа файла: для
imageиспользуются поля из JSON-ответа upload-шага (token/photos/url), дляfileиспользуетсяtokenиз upload-ответа, а дляvideo/audioнода также поддерживает токен изPOST /uploads, если upload endpoint возвращаетretval - Если у вас уже есть
payload.tokenиз Max API, выберитеAttachment Source = Token: нода отправит вложение без повторного скачивания и upload - Автоматический ретрай отправки с медиа-вложением при временной ошибке
attachment.not.ready - Явная валидация ID получателя:
0отклоняется с подсказкой по полям изMax Trigger; числовые ID за пределами безопасного диапазона JavaScript отклоняются до отправки. Передавайте такие ID строками - Интерактивные клавиатуры с кнопками
Max Chat
- Получение информации о чате
- Выход из групповых чатов
Ноды проверяют signed-int64 диапазон входных ID без округления, автоматически переводят старый официальный API host на platform-api2.max.ru, нормализуют IDN-домены webhook в Punycode и повторяют отправку при временной обработке медиа. В ответах Send Message, Edit Message, Delete Message, Answer Callback Query, Get Chat Info и Leave Chat безопасные числовые ID сохраняют прежний тип number, а целые значения вне безопасного диапазона JavaScript возвращаются точными строками. Остальные операции и Max Trigger нормализуют ID в строки. При отказе MAX принять Markdown сообщение один раз повторяется как читаемый plain text.
GET /chats намеренно не представлен: с июня 2026 года метод не поддерживается. Long Polling также не вынесен в production-trigger; для постоянных workflow используется Max Trigger с webhook.
Триггер
- Получение событий в реальном времени:
- Новые сообщения в личных диалогах (
message_created) и чатах (message_chat_created) - Нажатия на кнопки
- События чатов
- Новые сообщения в личных диалогах (
- Поддержка webhook URL с интернационализированными доменами (IDN/Punycode) для корректной TLS-валидации
- Для
message_callbackфильтрUser IDsиmetadata.user_contextиспользуют пользователя, нажавшего кнопку (callback.user), а не автора сообщения с кнопкой - Разные события получают разные
event_id; повторная доставка одного события с теми же полями и timestamp сохраняет ID. После обновления форматevent_idменяется: учитывайте это, если храните старые ID для дедупликации - Ответ MAX
success: falseпри создании подписки прерывает активацию; при удалении подписки возвращается признак неудачи - Если задан
Additional Fields → Webhook Secret, входящий заголовокX-Max-Bot-Api-Secretдолжен точно совпадать с секретом: запросы без него, с другим значением или несколькими значениями получают HTTP 403 и не запускают workflow. Пробелы по краям настроенного секрета удаляются так же, как при регистрации подписки; значение заголовка не обрезается. Без секрета поведение прежнее.
После добавления или смены Webhook Secret деактивируйте и снова активируйте workflow, чтобы MAX использовал тот же секрет в подписке. MAX рекомендует проверять этот заголовок.
Изменение типа ID:
Max Triggerтеперь возвращает числовые поляid,*_idи элементы массивовids/*_idsстроками независимо от величины. Это исключает потерю точности и делает схему стабильной, но существующие строгие сравнения с числами (=== 123) нужно заменить на сравнение со строкой (=== '123') либо явное преобразование типа.
Настройка
- Создайте бота через @PrimeBot в Max мессенджере
- Получите токен доступа
- Добавьте токен в настройки ноды в n8n
Ошибки SSL-сертификата
При ошибке доверия к сертификату предпочтительно настроить доверенный CA в окружении n8n, сохранив проверку TLS. Используйте сертификат из проверенного источника; не отключайте проверку для всего процесса через NODE_TLS_REJECT_UNAUTHORIZED=0.
В credentials Max API доступна опция Ignore SSL Issues (Insecure). Она выключена по умолчанию. При явном включении проверка сертификата пропускается для теста credentials, запросов к MAX API, управления webhook-подписками и обоих этапов загрузки вложений с этими credentials.
Это небезопасное исключение: без проверки подлинности сервера злоумышленник может перехватить токен бота и данные. После настройки доверия к CA выключите опцию и повторите тест credentials. Автоматического отключения проверки после ошибки сертификата нет; старые credentials без нового поля сохраняют прежнее поведение.
Опция не отключает проверку TLS при скачивании вложений с произвольного URL, не меняет другие credentials и не исправляет сертификат входящего webhook: его проверяет сервер MAX, а не эта нода.
Быстрый старт
Отправка сообщения
- Добавьте ноду
Max Messageв workflow - Выберите операцию "Send Message"
- Укажите ID получателя; при необходимости добавьте текст
- Чтобы отправить только файл/медиа, оставьте
Message Textпустым и добавьте вложение вAdditional Fields → Attachments - Чтобы переиспользовать уже загруженный файл, выберите
Additional Fields → Attachments → Attachment Source = Tokenи вставьтеFile Token - Запустите workflow
Пересылка входящего сообщения
- Добавьте
Max Triggerи подпишитесь наmessage_createdилиmessage_chat_created - Добавьте
Max Message→Send Message - В
Send ToвыберитеChatи укажите ID группы поддержки - Оставьте
Message Textпустым - В
Additional FieldsдобавьтеForward Message IDи передайте={{$json.event_context.message_id}} - Оставьте остальные additional fields по необходимости, например
Notify
Удаление inline-кнопок при редактировании
- Выберите операцию
Edit Message - Укажите
Message IDи новый текст - Включите
Clear Attachments, чтобы Max API получилattachments: []и удалил текущую inline-клавиатуру
Получение сообщений
- Добавьте ноду Max Trigger
- Настройте webhook
- Выберите типы событий для отслеживания
Остальные операции MAX Bot API
- Добавьте ноду нужного типа, например
Max CommentилиMax Chat Administrator. - Выберите операцию — интерфейс покажет только относящиеся к ней поля.
- Передавайте ID из
Max Triggerкак строки, чтобы не потерять точностьint64.
Миграция с версий 0.2.x и 0.1.x
После обновления старые ноды показываются в workflow как неизвестные и не выполняются. Замените их вручную:
| Старая нода и ресурс | Новая нода |
|---|---|
Max → Message |
Max Message |
Max → Chat |
Max Chat |
Max API → Bot |
Max Bot |
Max API → Chat |
Max Chat |
Max API → Chat Administrator |
Max Chat Administrator |
Max API → Chat Member |
Max Chat Member |
Max API → Comment |
Max Comment |
Max API → Message |
Max Message; операция Get Video переносится в Max Video |
Max API → Subscription |
Max Subscription |
Параметры автоматически не переносятся. Для прежних операций Max API → Message выберите каноническую операцию новой ноды: Send Message, Edit Message или Answer Callback Query. Получателя задавайте отдельным User ID или Chat ID; callback переносите в Callback Query ID; вложения задавайте через Additional Fields → Attachments.