# n8n-nodes-max

n8n community node для интеграции с [MAX Мессенджер](https://max.ru/) API.

[MAX](https://max.ru/) — российский мессенджер с открытым API для бизнеса и ботов.

[n8n](https://n8n.io/) — платформа автоматизации workflow с открытым кодом.

## Установка

### Через n8n (рекомендуется)

1. Откройте **Settings** > **Community Nodes**
2. Нажмите **Install**
3. Введите `@alex_rexby/n8n-nodes-max`
4. Нажмите **Install**

### Через npm

```bash
npm install @alex_rexby/n8n-nodes-max
```

## Настройка credentials

1. Создайте бота через [MAX Bot API](https://dev.max.ru/docs/chatbots/)
2. Скопируйте токен бота
3. В n8n создайте credentials:
   - Тип: **MAX API**
   - Token: ваш токен бота

## Ноды

### MAX (действия)

#### Сообщения
| Операция | Описание |
|----------|----------|
| Отправить текст | Текстовое сообщение пользователю или в чат |
| Отправить с медиа | Сообщение с файлами (фото, видео, аудио, документы) |
| Получить | Получить сообщение по ID |
| Редактировать | Изменить существующее сообщение |
| Удалить | Удалить сообщение |

#### Чаты
| Операция | Описание |
|----------|----------|
| Список чатов | Получить все чаты бота |
| Информация о чате | Получить данные конкретного чата |
| Обновить чат | Изменить название / описание |
| Действие в чате | Отправить статус (печатает, отправляет фото...) |
| Закрепить / Открепить | Закрепить или открепить сообщение |
| Удалить чат | Удалить чат |

#### Участники
| Операция | Описание |
|----------|----------|
| Список участников | Получить участников чата |
| Добавить участников | Добавить пользователей в чат |
| Удалить участника | Удалить пользователя из чата |
| Список админов | Получить администраторов чата |
| Назначить админа | Сделать пользователя админом |
| Снять админа | Убрать права администратора |

#### Бот
| Операция | Описание |
|----------|----------|
| Информация | Получить данные бота (ID, имя, статус) |

#### Callback
| Операция | Описание |
|----------|----------|
| Ответить | Ответ на нажатие inline-кнопки |
| Ответить и отправить | Ответ на callback + новое сообщение |

#### Возможности
- Отправка в **личку** (user_id) и **чаты/каналы** (chat_id)
- **Несколько файлов** в одном сообщении (фото, видео, аудио, документы)
- **Inline-кнопки** (визуальный конструктор или JSON)
- Форматирование текста (Markdown, HTML)
- Ответ на сообщение (reply)
- Беззвучные сообщения
- Отключение превью ссылок

### MAX Trigger (триггер)

Polling-триггер для получения событий из MAX в реальном времени.

#### Режимы
- **Все события** — получать всё (для тестирования)
- **Выбранные события** — фильтр по типам:
  - Новое сообщение (`message_created`)
  - Сообщение отредактировано (`message_edited`)
  - Сообщение удалено (`message_removed`)
  - Нажатие на кнопку (`message_callback`)
  - Старт бота (`bot_started`)

#### Как использовать
1. Добавьте ноду **MAX Trigger** в workflow
2. Укажите credentials (MAX API)
3. Выберите режим событий
4. Активируйте workflow
5. Бот начнёт получать обновления через long polling

## Примеры

### Отправка текста

- User ID: `4624138`
- Текст: `Привет из n8n!`

### Отправка в канал

- Chat ID: `-70931657203722`
- Текст: `Новое объявление!`

### Отправка фото с подписью

- User ID: `4624138`
- Бинарное свойство: `data`
- Подпись: `Смотрите что нашёл!`

### Несколько файлов в одном сообщении

- User ID: `4624138`
- Бинарные свойства: `photo1, photo2, document`
- Подпись: `Три файла в одном сообщении`

### Сообщение с кнопками

- User ID: `4624138`
- Текст: `Выберите действие:`
- Добавить кнопки: `да`
- Кнопка 1: `Вариант A` → Callback → `option_a`
- Кнопка 2: `На сайт` → Link → `https://example.com`

### Триггер + обработка событий

1. Добавьте **MAX Trigger** (все события)
2. Подключите к ноде **Switch** / **IF** для фильтрации по `update_type`
3. Обрабатывайте разные типы событий в отдельных ветках

## Совместимость

- n8n: 1.0.0+

## Ссылки

- [MAX API документация](https://dev.max.ru/docs-api/)
- [MAX Bot Platform](https://dev.max.ru/docs/chatbots/)
- [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)

## История версий

### 0.4.34
- Триггер переделан на polling (`poll()` + `polling: true`)
- Поддержка нескольких файлов в одном сообщении
- Удалена утечка `_debug` данных из ответов
- Очистка от мусорных файлов

### 0.4.20
- Исправлена загрузка медиа (multipart/form-data)
- Поддержка каналов/групп (chat_id с `-`)

### 0.4.0
- Первый релиз
- Сообщения, кнопки, webhook-триггер

## Лицензия

[MIT](LICENSE.md)

## Поддержка

- [MAX Developer Portal](https://dev.max.ru/)
