@telecopilotco/n8n-nodes-telepilot

0.7.6 • Public • Published

n8n-nodes-telepilot

npm version

Описание

n8n-nodes-telepilot — это пакет расширения для n8n, обеспечивающий глубокую интеграцию с Telegram API на уровне MTProto. В отличие от стандартных ботов, TelePilot работает как пользовательский клиент, что дает доступ к расширенным функциям Telegram, включая:

  • Автоматизацию личного аккаунта Telegram
  • Мониторинг и реагирование на сообщения в режиме реального времени
  • Доступ к событиям API, недоступным для обычных ботов
  • Работу со "звездами" и подарками Telegram
  • Управление группами и каналами с расширенными возможностями

TelePilot работает параллельно с вашим основным клиентом, позволяя создать персонального Telegram-ассистента.

Совместимость окружений

ОС Архитектура Поддержка
docker x64
docker arm64
linux x64
linux arm64
macos x64
macos arm64
windows x64
windows arm64

Установка

Установка как модуль сообщества

  1. Перейдите в Settings -> Community modules вашего n8n
  2. Выберите "Install Community node"
  3. Укажите имя пакета @telepilotco/n8n-nodes-telepilot
  4. Подтвердите установку

Ручная установка

npm install @telepilotco/n8n-nodes-telepilot

Для Docker-инсталляций

Добавьте в Dockerfile:

RUN cd ~/.n8n/ && mkdir nodes && cd nodes && npm install @telepilotco/n8n-nodes-telepilot

Настройка и авторизация

Получение API ключей

  1. Зайдите на my.telegram.org
  2. Заполните форму для получения api_id и api_hash:
    • App title: telepilot
    • Short name: telepilot

Настройка учетных данных

  1. В n8n откройте раздел Credentials
  2. Создайте новый ключ "Personal Telegram CoPilot API"
  3. Заполните поля:
    • App api_id: ваш API ID
    • App api_hash: ваш API Hash
    • Phone Number: телефон в международном формате

Авторизация

  1. Создайте рабочий процесс с узлами "Chat Trigger" и "Telegram CoPilot"
  2. В "Telegram CoPilot" выберите:
    • Ресурс: "Вход"
    • Операция: "Вход по номеру телефона через ChatTrigger"
  3. Соедините узлы и активируйте рабочий процесс
  4. Используйте команду /start в чате
  5. Введите код подтверждения из Telegram
  6. При необходимости введите пароль двухфакторной аутентификации

Работа с несколькими аккаунтами

TelePilot поддерживает работу с несколькими аккаунтами Telegram одновременно. Это позволяет создавать сложные автоматизации, использующие разные аккаунты для разных задач.

Настройка нескольких аккаунтов

  1. Создание учетных данных

    • Перейдите в раздел Credentials в n8n
    • Создайте отдельные учетные данные "Personal Telegram CoPilot API" для каждого аккаунта
    • Для каждого набора учетных данных укажите:
      • Уникальный App api_id
      • Уникальный App api_hash
      • Номер телефона в международном формате
  2. Авторизация аккаунтов

    • Создайте рабочий процесс с узлами "Chat Trigger" и "Telegram CoPilot"
    • В "Telegram CoPilot" выберите:
      • Ресурс: "Вход"
      • Операция: "Вход по номеру телефона через ChatTrigger"
    • Выберите соответствующие учетные данные для каждого аккаунта
    • Повторите процесс авторизации для каждого аккаунта
    • Используйте команду /start в чате для каждого аккаунта
    • Введите коды подтверждения из Telegram
    • При необходимости введите пароли двухфакторной аутентификации
  3. Использование в рабочих процессах

    • В каждом узле "Telegram CoPilot" выберите нужные учетные данные
    • Система автоматически переключится на соответствующий аккаунт
    • Можно использовать разные аккаунты в разных узлах одного рабочего процесса

Управление аккаунтами

TelePilot предоставляет команды для управления аккаунтами через ChatTrigger:

Команда Описание
/stat Показывает статус всех аккаунтов, включая их состояние авторизации
/stop Завершает текущую сессию аккаунта
/clear Удаляет локальную базу данных сессии и требует повторной авторизации
/help Показывает список доступных команд

Примеры использования нескольких аккаунтов

  1. Мониторинг и пересылка сообщений
ChatTrigger (Аккаунт 1) -> Telegram CoPilot Trigger (updateNewMessage) -> 
IF (условие) -> Telegram CoPilot (sendMessage, Аккаунт 2)
  1. Автоматическое взаимодействие между аккаунтами
Telegram CoPilot Trigger (Аккаунт 1) -> 
Function (обработка) -> 
Telegram CoPilot (sendMessage, Аккаунт 2) -> 
Telegram CoPilot (sendMessage, Аккаунт 1)
  1. Параллельная работа с разными группами
Telegram CoPilot (getChats, Аккаунт 1) -> 
Function (фильтрация) -> 
Telegram CoPilot (sendMessage, Аккаунт 2)

Особенности работы с несколькими аккаунтами

  1. Изоляция сессий

    • Каждый аккаунт имеет свою отдельную сессию
    • Файлы сессий хранятся в отдельных директориях
    • Переключение между аккаунтами происходит автоматически
  2. Безопасность

    • Каждый аккаунт использует свои уникальные API ключи
    • Сессии хранятся локально и изолированы друг от друга
    • При удалении аккаунта все его данные удаляются
  3. Мониторинг

    • Команда /stat показывает статус всех аккаунтов
    • Можно отслеживать активные сессии
    • Ведется лог последнего использования каждого аккаунта
  4. Ограничения

    • Каждый аккаунт должен быть авторизован отдельно
    • Необходимо использовать разные API ключи для разных аккаунтов
    • Рекомендуется не превышать разумное количество аккаунтов (до 5-10)

Полный список ресурсов и методов

1. Ресурс: Вход (login)

Операция Описание Параметры Особенности
Вход по номеру телефона через ChatTrigger Авторизация в Telegram - Требует ввода кода подтверждения из Telegram
Закрыть сессию Завершает текущую сессию Telegram - Безопасное завершение работы
Удалить Td_database Удаляет локальную базу данных сессии - Полная очистка данных сессии

2. Ресурс: Пользователь (user)

Операция Описание Параметры Возвращает
Получить информацию о себе Данные текущего пользователя - ID, имя, username и другие данные профиля
Получить информацию о пользователе Базовая информация User ID Основные данные пользователя
Получить полную информацию о пользователе Расширенный профиль User ID Детальную информацию включая статус, био и т.д.
Создать личный чат Создает/открывает чат User ID, Force ID созданного чата
Создать новый секретный чат Шифрованный чат User ID ID секретного чата
Получить активные подписки за звезды Список подписок Only Expiring, Offset Список подписок и их статус

3. Ресурс: Контакт (contact)

Операция Описание Параметры Возвращает
Получить контакты Список контактов - Массив контактов с их данными

4. Ресурс: Группа (group)

Операция Описание Параметры Возвращает
Получить участников супергруппы Список участников Supergroup ID Массив участников с их ролями
Получить информацию о супергруппе Основные данные Supergroup ID Название, описание, количество участников
Получить полную информацию о супергруппе Детальная информация Supergroup ID Детальную информацию включая настройки

5. Ресурс: Чат (chat)

Операция Описание Параметры Особенности
Добавить участников в чат Добавление новых участников Chat ID, User IDs Массовое добавление
Закрыть чат Закрывает активный чат Chat ID Скрывает чат из списка
Открыть чат Открывает чат Chat ID Делает чат активным
Отметить чат как непрочитанный Изменяет статус прочтения Chat ID, Is Marked As Unread Управление статусом уведомлений
Отправить действие чата Отправляет статус действия Chat ID, Chat Action Показывает "печатает", "записывает голос" и т.д.
Поиск публичного чата Поиск по username Username Информацию о найденном чате
Получить информацию о чате Основные данные чата Chat ID Информацию о чате
Получить чаты Список всех чатов Limit Массив чатов
Получить историю чата История сообщений Chat ID, From Message ID, Limit Массив сообщений
Присоединиться к чату Вступление в чат Chat ID Работает с публичными чатами
Создать супергруппу или канал Создание новой группы Title, Description, Is Channel ID созданной группы
Получить платные посты Список платных постов Chat ID Массив платных постов
Получить участников чата по ссылке Список пользователей по ссылке Chat ID, Invite Link Массив участников
Получить информацию о ссылке Данные о приглашении Chat ID, Invite Link Информацию о ссылке
Поиск публичных чатов Поиск по ключевым словам Query Массив найденных чатов
Удалить чат Удаление чата Chat ID Безвозвратное удаление

6. Ресурс: Сообщение (message)

Операция Описание Параметры Особенности
Отправить текстовое сообщение Отправка текста Chat ID, Message Text, Reply To Message ID Поддержка форматирования
Отправить сообщение с фото Отправка изображения Chat ID, Local Photo Path, Caption Поддержка подписей
Отправить сообщение с видео Отправка видео Chat ID, Video Path, Caption Поддержка подписей
Отправить сообщение с аудио Отправка аудио/голоса Chat ID, Audio Path, Caption, Send As Voice Поддержка голосовых сообщений
Отправить сообщение с файлом Отправка документа Chat ID, File Path, Caption Поддержка любых файлов
Изменить текст сообщения Редактирование сообщения Chat ID, Message ID, Message Text Сохранение форматирования
Удалить сообщения Удаление сообщений Chat ID, Message IDs, Revoke Массовое удаление
Переслать сообщения Пересылка сообщений From Chat ID, To Chat ID, Message IDs Массовая пересылка
Получить сообщения Получение по ID Chat ID, Message ID Данные сообщения
Получить ссылку на сообщение Создание ссылки Chat ID, Message ID Публичную ссылку
Сохранить сообщения в избранное Добавление в закладки Chat ID, Message IDs Массовое сохранение

7. Ресурс: Файл (file)

Операция Описание Параметры Возвращает
Скачать файл Загрузка файла File ID Локальный путь к файлу
Получить удаленный файл Информация о файле Remote File ID Метаданные файла

8. Ресурс: Пользовательский запрос (request)

Операция Описание Параметры Особенности
Пользовательский запрос Произвольный запрос к API JSON Прямой доступ к API

9. Ресурс: Подарок (gift)

Операция Описание Параметры Возвращает
Получить полученные подарки Список подарков Limit, Offset Массив подарков

10. Ресурс: Звезды (star)

Операция Описание Параметры Возвращает
Получить транзакции звезд История транзакций Chat ID, Limit, Offset Массив транзакций
Получить статус доходов от звезд Статистика доходов - Информацию о доходах

Работа с триггерами

Доступные события для Telegram CoPilot Trigger

1. updateNewMessage

  • Описание: Срабатывает при получении нового сообщения
  • Данные:
    • ID сообщения
    • ID чата
    • Текст сообщения
    • Тип контента
    • Информация об отправителе

2. updateMessageContent

  • Описание: Срабатывает при изменении содержимого сообщения
  • Данные:
    • ID сообщения
    • ID чата
    • Новое содержимое
    • Тип изменений

3. updateNewMessage:messageActionStarGift

  • Описание: Срабатывает при получении подарка звезд
  • Данные:
    • ID подарка
    • Количество звезд
    • ID отправителя
    • ID полученного подарка
    • Количество звезд для продажи
    • Приватность подарка
    • Статус конвертации
    • Статус улучшения
    • Статус возврата
    • Эмодзи подарка
    • Стандартное количество звезд
    • Возможность улучшения

4. getStarTransactions

  • Описание: Получение истории транзакций звезд
  • Требует: Channel ID
  • Данные:
    • Список транзакций
    • Временные метки
    • Количество звезд
    • Тип транзакции

5. updateStarTransactions

  • Описание: Обновления в транзакциях звезд
  • Требует: Channel ID
  • Данные:
    • Новые транзакции
    • Изменения в существующих транзакциях

6. * (Все события)

  • Описание: Срабатывает на все возможные события
  • Особенности: Не рекомендуется для производительности
  • Использование: Только для отладки

Дополнительные настройки триггеров

Ignore Groups Events

  • Описание: Игнорировать события из групп
  • Тип: boolean
  • По умолчанию: false
  • Особенности: Полезно для фильтрации личных сообщений

Примеры использования триггеров

1. Мониторинг личных сообщений

{
  "events": ["updateNewMessage"],
  "options": {
    "ignoreGroups": true
  }
}

2. Отслеживание подарков

{
  "events": ["updateNewMessage:messageActionStarGift"]
}

3. Мониторинг транзакций

{
  "events": ["getStarTransactions", "updateStarTransactions"],
  "channelId": "your_channel_id"
}

4. Комплексный мониторинг

{
  "events": [
    "updateNewMessage",
    "updateMessageContent",
    "updateNewMessage:messageActionStarGift"
  ]
}

Особенности работы с триггерами

  1. Авторизация

    • Требуется предварительная авторизация через ChatTrigger
    • Необходимо использовать метод "Вход по номеру телефона через ChatTrigger"
  2. Обработка данных

    • Все события содержат полную информацию о контексте
    • Поддерживается форматированный текст
    • Доступна информация о медиа-контенте
  3. Работа с подарками

    • Детальная информация о подарках звезд
    • Статусы конвертации и улучшения
    • История транзакций
  4. Мониторинг транзакций

    • Требуется указание Channel ID
    • Поддержка пагинации
    • Отслеживание изменений в реальном времени

Примеры рабочих процессов

Автоответчик в личных сообщениях

ChatTrigger -> Telegram CoPilot Trigger (updateNewMessage) -> IF (private chat) -> Telegram CoPilot (sendMessage)

Мониторинг ключевых слов в группе

Telegram CoPilot Trigger (updateNewMessage) -> Function (проверка ключевых слов) -> IF (найдено) -> Telegram CoPilot (sendMessage to self)

Автоматическая загрузка медиа из канала

Telegram CoPilot Trigger (updateNewMessage) -> IF (contains media) -> Telegram CoPilot (downloadFile)

Мониторинг транзакций звезд

Telegram CoPilot Trigger (updateStarTransactions) -> IF (amount > 50) -> Telegram CoPilot (sendMessage notification)

Отладка и устранение неисправностей

Включение расширенного логирования

DEBUG=tdl,tdl:client,telepilot-cred,telepilot-node,telepilot-trigger,telepilot-cm N8N_LOG_LEVEL=debug npx n8n

Частые проблемы и решения

Проблема с авторизацией

Проблема: Не удается авторизоваться с кодом из SMS Решение:

  • Убедитесь, что номер телефона указан в международном формате
  • Проверьте правильность API ID и API Hash
  • Выполните /clear в ChatTrigger и начните заново

Не работают некоторые методы

Проблема: Ошибка при использовании методов Решение:

  • Проверьте авторизацию (выполните метод getMe)
  • Проверьте правильность параметров (ID чатов)
  • Убедитесь, что у вас есть права на действие

Проблемы с Docker

Проблема: TelePilot не работает в Docker Решение:

  • Добавьте переменные окружения в Docker
  • Проверьте правильность установки

Особенности реализации

  • Использование MTProto API вместо Bot API для расширенных возможностей
  • Локальное хранение сессии пользователя в Td_database
  • Поддержка различных операционных систем и архитектур (кроме Windows)
  • Интеграция с существующим аккаунтом без создания бота
  • Доступ к расширенным событиям API недоступным для стандартных ботов

Узнать больше

Лицензия

MIT

Package Sidebar

Install

npm i @telecopilotco/n8n-nodes-telepilot

Weekly Downloads

243

Version

0.7.6

License

MIT

Unpacked Size

487 kB

Total Files

34

Last publish

Collaborators

  • vivenlmao
  • anononamemo