Package Information
Available Nodes
Documentation generating…
Documentation
KOMP Telegram Tools — Stage 4 (0.1.6)
Изолированная community-нода для Telegram-аккаунта EOS Art в n8n. Никаких изменений GramPro, RichMessage Publisher и существующих workflow.
Текущее состояние
pressInlineButton— реализована в коде, и прошла автономные тесты; официальный n8n lint и build прошли в GitHub Actions; реальное нажатие ещё не проверено.getCustomEmoji— пока безопасно возвращает ошибкуNOT_IMPLEMENTED_STAGE_5.- Credentials
kompTelegramSessionApi:API ID,API Hash,StringSession. - Защита: проверка Telegram ID EOS Art (
6556687626), проверка отправителя/бота и точнойcallback_dataв указанном сообщении; запрещено нажимать незнакомые кнопки. - Повторных попыток callback нет: при обрыве соединения Telegram мог уже обработать запрос.
- Два формата callback data: обычная UTF-8 строка или
base64:для бинарных данных.
Изоляция Teleproto
teleproto@1.230.1 используется как devDependency и собирается в автономный dist/runtime/teleproto-bundle.cjs через esbuild. Библиотека не устанавливается в общее окружение n8n во время работы ноды. В пакет включён только подготовленный JS-бандл и скомпилированные классы.
Важно: полнота упаковки проверена официальными n8n-node build, lint, автономными тестами и npm pack. Перед использованием в рабочих сценариях необходимо проверить реальное нажатие на безопасной тестовой кнопке. Публикация пакета в npm не означает установку в Amvera.
Проверка
В изолированной среде разработки, Node >= 22.22:
npm install
npm run lint
npm run build
npm run test:offline
npm run test:bundle
npm pack --dry-run
Перед созданием архива prepack автоматически проверяет, что dist/runtime/teleproto-bundle.cjs существует и загружается без установки общего teleproto. Упаковка только после build: автономная компиляция не включает библиотеку Teleproto. scripts/verify-isolated.ps1 выполняет эти этапы на Windows.
Параметры pressInlineButton
- Бот — Telegram username, например
@ildarHELPbot. - ID сообщения бота — положительный ID входящего сообщения с inline-кнопками.
- Callback Data — точное значение
callback_data, до 64 байт. Можно задавать бинарно какbase64:....
Нода сначала убеждается, что сессия принадлежит EOS Art, сообщение действительно прислал указанный Telegram-бот и единственная его callback-кнопка имеет точно указанное значение. Только затем выполняется messages.GetBotCallbackAnswer. Возврат success=true сообщает об ответе Telegram; это не гарантирует, что сторонний бот полностью завершил бизнес-операцию — при необходимости её результат проверяется отдельно.
При тестировании используйте отдельное безопасное тестовое сообщение. Не вводите StringSession, API Hash и коды Telegram в чат, GitHub или поля workflow — только в защищённые credentials.
Публичный npm-пакет
Публичный npm-пакет содержит скомпилированный код ноды и Teleproto, а не Telegram-сессии или реальные credentials. Репозиторий GitHub остаётся приватным, поэтому ссылка на исходники доступна только участникам репозитория. В версии 0.1.6 реализовано только нажатие inline-кнопок; получение эмодзи ещё не реализовано. Код ограничен аккаунтом EOS Art и не является универсальным Telegram-клиентом.
Ранее версия 0.1.5 была загружена в npm как staged-выпуск и осталась без одобрения 2FA. Прямой выпуск использует 0.1.6, чтобы не конфликтовать с занятым номером. Версию 0.1.5 нельзя подтверждать после публикации 0.1.6.