# n8n-nodes-telemaragonov

![n8n.io - Workflow Automation](https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png)

ВСЕ ВОПРОСЫ В ТЕЛЕГРАМ @n8nsupport

Это пакет сообщества для n8n, который предоставляет узел для работы с Telegram через библиотеку GramJS (MTProto).

[n8n](https://n8n.io/) — это платформа автоматизации рабочих процессов с низким кодом, которая позволяет пользователям создавать сложные интеграции с помощью визуального интерфейса.

## Возможности

- ✅ Отправка сообщений в Telegram
- ✅ Получение сообщений из чатов
- ✅ Удаление сообщений
- ✅ Получение информации о чатах
- ✅ Получение участников чата
- ✅ Получение информации о пользователях
- ✅ Получение истории сообщений каналов
- ✅ Скачивание файлов/фото из сообщений (getFile)
- ✅ Автоматическое удаление временных файлов (deleteFile)
- ✅ Поддержка различных форматов сообщений (HTML, Markdown)
- ✅ Аутентификация через API ID/Hash
- ✅ Поддержка сессий для постоянного подключения

## Установка

Следуйте [руководству по настройке пакета сообщества](https://docs.n8n.io/integrations/community-nodes/installation/).

1. Перейдите в **Настройки > Пакеты сообщества**
2. Нажмите **Установить**
3. Введите `n8n-nodes-telemaragonov`
4. Согласитесь с [рисками](https://docs.n8n.io/integrations/community-nodes/risks/) установки пакета сообщества
5. Нажмите **Установить**

После установки вы найдете узел **Telegram GramJS** в разделе **Коммуникации**.

## Настройка учетных данных

Для использования этого узла вам потребуется:

1. **API ID и API Hash** — получите их на [my.telegram.org](https://my.telegram.org/):
   - Войдите в свой аккаунт Telegram
   - Нажмите "API development tools"
   - Заполните детали приложения
   - Получите API ID и API Hash
2. **Номер телефона** — для первоначальной настройки

## Использование

### Получение истории сообщений канала

```json
{
  "resource": "chat",
  "operation": "history",
  "chatId": "@publicchannel",
  "limit": 10
}
```

### Скачивание файла/фото из сообщения (getFile)

```json
{
  "resource": "chat",
  "operation": "getFile",
  "chatId": "@publicchannel",
  "messageId": 12345,
  "fileName": "photo.jpg",
  "deleteFile": true
}
```
- В результате в output появится бинарный файл (`item.binary.data`), который можно передать в стандартную ноду Telegram (Bot API) или сохранить.
- Если включить `deleteFile`, файл будет удалён с диска после передачи.

### Пример передачи файла в Bot API
1. Получите файл через `getFile` (он появится в output как binary).
2. В следующей ноде Telegram (Bot API) используйте режим передачи файла из предыдущей ноды (binary).

## Поддерживаемые операции

### Сообщения (Message)
- **Send** — отправка сообщения
- **Get** — получение сообщений из чата
- **Delete** — удаление сообщения

### Чаты (Chat)
- **Get** — получение информации о чате
- **Get Members** — получение участников чата
- **History** — получение истории сообщений
- **Get File** — скачивание файла/фото из сообщения

### Пользователи (User)
- **Get** — получение информации о пользователе
- **Get Me** — получение информации о текущем пользователе

## Разработка

### Требования
- Node.js 18.10+
- pnpm 8.6+

### Установка зависимостей
```bash
pnpm install
```

### Сборка
```bash
pnpm build
```

### Разработка
```bash
pnpm dev
```

### Форматирование
```bash
pnpm format
```

## Лицензия

[MIT](LICENSE)

## Поддержка

Если у вас есть вопросы или проблемы, создайте [issue](https://github.com/maragonov/n8n-nodes-telemaragonov/issues) в репозитории.

## Отказ от ответственности

⚠️ **Важно:** Этот пакет сообщества не разрабатывался и не поддерживается командой n8n. Используйте на свой страх и риск.

Всегда соблюдайте [условия использования Telegram](https://telegram.org/tos) и не используйте этот узел для спама или других нарушений.

---

**Создано с ❤️ для сообщества n8n**
