Skip to content

oiv-an/TelegramNode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TelegramNode

GitHub license GitHub stars

Telegram bridge for n8n - captures messages and forwards them to webhooks.

Описание

TelegramNode - это Node.js приложение, которое служит мостом между Telegram и n8n. Основная задача проекта - перехват всех входящих сообщений пользователя Telegram и отправка их на вебхуки n8n. Приложение особенно полезно для работы с защищенными каналами, где требуется скачивание медиафайлов.

Основные возможности

  • Перехват всех входящих сообщений Telegram
  • Автоматическое скачивание защищенных фото и голосовых сообщений
  • Отправка сообщений и медиафайлов на вебхуки n8n
  • Поддержка альбомов (группированных сообщений)
  • HTTP API для пересылки сообщений между каналами
  • Graceful fallback на тестовый вебхук при недоступности основного

Установка и настройка

📖 Подробная инструкция по установке: см. файл INSTALL.md

1. Быстрая установка

git clone https://github.com/oiv-an/TelegramNode.git
cd TelegramNode
npm install
cp .env.example .env
# Отредактируйте .env с вашими данными
npm start

2. Системные требования

  • Node.js версии 18 или выше
  • npm (входит в состав Node.js)
  • Telegram API credentials (API ID и API Hash от https://my.telegram.org/)
  • Аккаунт Telegram для получения кодов подтверждения

3. Настройка переменных окружения

Скопируйте файл .env.example в .env и заполните его своими данными:

cp .env.example .env

Обязательные переменные:

  • TELEGRAM_API_ID - API ID от Telegram
  • TELEGRAM_API_HASH - API Hash от Telegram
  • TELEGRAM_PHONE_NUMBER - Ваш номер телефона
  • API_SECRET - Секретный ключ для API

4. Запуск приложения

npm start

При первом запуске потребуется ввести код подтверждения из Telegram.

API Эндпоинты

GET /health

Проверка состояния приложения.

POST /forward

Пересылка сообщений между каналами.

Требуется заголовок x-api-key со значением из переменной API_SECRET.

Тело запроса:

{
  "fromChatId": "source_channel_id",
  "messageIds": [123, 456],
  "toChatId": "destination_channel_id"
}

Структура проекта

  • index.js - Основной файл приложения
  • .env.example - Пример конфигурации
  • package.json - Метаданные проекта и зависимости

Требования

  • Node.js 18+
  • Аккаунт Telegram с полученными API credentials

Лицензия

MIT License - см. файл LICENSE

Автор

Ivan Olyanskiy

Лицензия

Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.

Contributing

Добро пожаловать для внесения вклада! Пожалуйста, создайте Issue для обсуждения изменений или отправьте Pull Request.

Поддержка

Если у вас есть вопросы или проблемы, пожалуйста, создайте Issue в репозитории: https://github.com/oiv-an/TelegramNode/issues

About

TelegramNode - это Node.js приложение, которое служит мостом между Telegram и n8n. Основная задача проекта - перехват всех входящих сообщений пользователя Telegram и отправка их на вебхуки n8n. Приложение особенно полезно для работы с защищенными каналами, где требуется скачивание медиафайлов.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors