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 | ❌ |
- Перейдите в Settings -> Community modules вашего n8n
- Выберите "Install Community node"
- Укажите имя пакета
@telepilotco/n8n-nodes-telepilot
- Подтвердите установку
npm install @telepilotco/n8n-nodes-telepilot
Добавьте в Dockerfile:
RUN cd ~/.n8n/ && mkdir nodes && cd nodes && npm install @telepilotco/n8n-nodes-telepilot
- Зайдите на my.telegram.org
- Заполните форму для получения
api_id
иapi_hash
:- App title:
telepilot
- Short name:
telepilot
- App title:
- В n8n откройте раздел Credentials
- Создайте новый ключ "Personal Telegram CoPilot API"
- Заполните поля:
- App api_id: ваш API ID
- App api_hash: ваш API Hash
- Phone Number: телефон в международном формате
- Создайте рабочий процесс с узлами "Chat Trigger" и "Telegram CoPilot"
- В "Telegram CoPilot" выберите:
- Ресурс: "Вход"
- Операция: "Вход по номеру телефона через ChatTrigger"
- Соедините узлы и активируйте рабочий процесс
- Используйте команду
/start
в чате - Введите код подтверждения из Telegram
- При необходимости введите пароль двухфакторной аутентификации
TelePilot поддерживает работу с несколькими аккаунтами Telegram одновременно. Это позволяет создавать сложные автоматизации, использующие разные аккаунты для разных задач.
-
Создание учетных данных
- Перейдите в раздел Credentials в n8n
- Создайте отдельные учетные данные "Personal Telegram CoPilot API" для каждого аккаунта
- Для каждого набора учетных данных укажите:
- Уникальный App api_id
- Уникальный App api_hash
- Номер телефона в международном формате
-
Авторизация аккаунтов
- Создайте рабочий процесс с узлами "Chat Trigger" и "Telegram CoPilot"
- В "Telegram CoPilot" выберите:
- Ресурс: "Вход"
- Операция: "Вход по номеру телефона через ChatTrigger"
- Выберите соответствующие учетные данные для каждого аккаунта
- Повторите процесс авторизации для каждого аккаунта
- Используйте команду
/start
в чате для каждого аккаунта - Введите коды подтверждения из Telegram
- При необходимости введите пароли двухфакторной аутентификации
-
Использование в рабочих процессах
- В каждом узле "Telegram CoPilot" выберите нужные учетные данные
- Система автоматически переключится на соответствующий аккаунт
- Можно использовать разные аккаунты в разных узлах одного рабочего процесса
TelePilot предоставляет команды для управления аккаунтами через ChatTrigger:
Команда | Описание |
---|---|
/stat |
Показывает статус всех аккаунтов, включая их состояние авторизации |
/stop |
Завершает текущую сессию аккаунта |
/clear |
Удаляет локальную базу данных сессии и требует повторной авторизации |
/help |
Показывает список доступных команд |
- Мониторинг и пересылка сообщений
ChatTrigger (Аккаунт 1) -> Telegram CoPilot Trigger (updateNewMessage) ->
IF (условие) -> Telegram CoPilot (sendMessage, Аккаунт 2)
- Автоматическое взаимодействие между аккаунтами
Telegram CoPilot Trigger (Аккаунт 1) ->
Function (обработка) ->
Telegram CoPilot (sendMessage, Аккаунт 2) ->
Telegram CoPilot (sendMessage, Аккаунт 1)
- Параллельная работа с разными группами
Telegram CoPilot (getChats, Аккаунт 1) ->
Function (фильтрация) ->
Telegram CoPilot (sendMessage, Аккаунт 2)
-
Изоляция сессий
- Каждый аккаунт имеет свою отдельную сессию
- Файлы сессий хранятся в отдельных директориях
- Переключение между аккаунтами происходит автоматически
-
Безопасность
- Каждый аккаунт использует свои уникальные API ключи
- Сессии хранятся локально и изолированы друг от друга
- При удалении аккаунта все его данные удаляются
-
Мониторинг
- Команда
/stat
показывает статус всех аккаунтов - Можно отслеживать активные сессии
- Ведется лог последнего использования каждого аккаунта
- Команда
-
Ограничения
- Каждый аккаунт должен быть авторизован отдельно
- Необходимо использовать разные API ключи для разных аккаунтов
- Рекомендуется не превышать разумное количество аккаунтов (до 5-10)
Операция | Описание | Параметры | Особенности |
---|---|---|---|
Вход по номеру телефона через ChatTrigger | Авторизация в Telegram | - | Требует ввода кода подтверждения из Telegram |
Закрыть сессию | Завершает текущую сессию Telegram | - | Безопасное завершение работы |
Удалить Td_database | Удаляет локальную базу данных сессии | - | Полная очистка данных сессии |
Операция | Описание | Параметры | Возвращает |
---|---|---|---|
Получить информацию о себе | Данные текущего пользователя | - | ID, имя, username и другие данные профиля |
Получить информацию о пользователе | Базовая информация | User ID | Основные данные пользователя |
Получить полную информацию о пользователе | Расширенный профиль | User ID | Детальную информацию включая статус, био и т.д. |
Создать личный чат | Создает/открывает чат | User ID, Force | ID созданного чата |
Создать новый секретный чат | Шифрованный чат | User ID | ID секретного чата |
Получить активные подписки за звезды | Список подписок | Only Expiring, Offset | Список подписок и их статус |
Операция | Описание | Параметры | Возвращает |
---|---|---|---|
Получить контакты | Список контактов | - | Массив контактов с их данными |
Операция | Описание | Параметры | Возвращает |
---|---|---|---|
Получить участников супергруппы | Список участников | Supergroup ID | Массив участников с их ролями |
Получить информацию о супергруппе | Основные данные | Supergroup ID | Название, описание, количество участников |
Получить полную информацию о супергруппе | Детальная информация | Supergroup ID | Детальную информацию включая настройки |
Операция | Описание | Параметры | Особенности |
---|---|---|---|
Добавить участников в чат | Добавление новых участников | 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 | Безвозвратное удаление |
Операция | Описание | Параметры | Особенности |
---|---|---|---|
Отправить текстовое сообщение | Отправка текста | 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 | Массовое сохранение |
Операция | Описание | Параметры | Возвращает |
---|---|---|---|
Скачать файл | Загрузка файла | File ID | Локальный путь к файлу |
Получить удаленный файл | Информация о файле | Remote File ID | Метаданные файла |
Операция | Описание | Параметры | Особенности |
---|---|---|---|
Пользовательский запрос | Произвольный запрос к API | JSON | Прямой доступ к API |
Операция | Описание | Параметры | Возвращает |
---|---|---|---|
Получить полученные подарки | Список подарков | Limit, Offset | Массив подарков |
Операция | Описание | Параметры | Возвращает |
---|---|---|---|
Получить транзакции звезд | История транзакций | Chat ID, Limit, Offset | Массив транзакций |
Получить статус доходов от звезд | Статистика доходов | - | Информацию о доходах |
- Описание: Срабатывает при получении нового сообщения
-
Данные:
- ID сообщения
- ID чата
- Текст сообщения
- Тип контента
- Информация об отправителе
- Описание: Срабатывает при изменении содержимого сообщения
-
Данные:
- ID сообщения
- ID чата
- Новое содержимое
- Тип изменений
- Описание: Срабатывает при получении подарка звезд
-
Данные:
- ID подарка
- Количество звезд
- ID отправителя
- ID полученного подарка
- Количество звезд для продажи
- Приватность подарка
- Статус конвертации
- Статус улучшения
- Статус возврата
- Эмодзи подарка
- Стандартное количество звезд
- Возможность улучшения
- Описание: Получение истории транзакций звезд
- Требует: Channel ID
-
Данные:
- Список транзакций
- Временные метки
- Количество звезд
- Тип транзакции
- Описание: Обновления в транзакциях звезд
- Требует: Channel ID
-
Данные:
- Новые транзакции
- Изменения в существующих транзакциях
- Описание: Срабатывает на все возможные события
- Особенности: Не рекомендуется для производительности
- Использование: Только для отладки
- Описание: Игнорировать события из групп
- Тип: boolean
- По умолчанию: false
- Особенности: Полезно для фильтрации личных сообщений
{
"events": ["updateNewMessage"],
"options": {
"ignoreGroups": true
}
}
{
"events": ["updateNewMessage:messageActionStarGift"]
}
{
"events": ["getStarTransactions", "updateStarTransactions"],
"channelId": "your_channel_id"
}
{
"events": [
"updateNewMessage",
"updateMessageContent",
"updateNewMessage:messageActionStarGift"
]
}
-
Авторизация
- Требуется предварительная авторизация через ChatTrigger
- Необходимо использовать метод "Вход по номеру телефона через ChatTrigger"
-
Обработка данных
- Все события содержат полную информацию о контексте
- Поддерживается форматированный текст
- Доступна информация о медиа-контенте
-
Работа с подарками
- Детальная информация о подарках звезд
- Статусы конвертации и улучшения
- История транзакций
-
Мониторинг транзакций
- Требуется указание 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 чатов)
- Убедитесь, что у вас есть права на действие
Проблема: TelePilot не работает в Docker Решение:
- Добавьте переменные окружения в Docker
- Проверьте правильность установки
- Использование MTProto API вместо Bot API для расширенных возможностей
- Локальное хранение сессии пользователя в Td_database
- Поддержка различных операционных систем и архитектур (кроме Windows)
- Интеграция с существующим аккаунтом без создания бота
- Доступ к расширенным событиям API недоступным для стандартных ботов
- Telegram канал: https://t.me/telepilotco
- Telegram группа: https://t.me/telepilotco_group
- Сайт: https://telepilot.co
- Документация: https://telepilot.co/login-howto
- Готовые процессы: https://telepilot.co/workflows
MIT