Переход в один шаг

Переход с TikTok-Live-Connector за секунды

Уже используете tiktok-live-connector? Переходите на управляемый TikTool API, изменив одну строку импорта. Те же названия событий, те же методы, никаких изменений в коде.

1

Установите SDK

npm install @tiktool/live
2

Измените одну строку импорта

-const { WebcastPushConnection } = require('tiktok-live-connector');
+const { WebcastPushConnection } = require('@tiktool/live');
3

Используйте свой API-ключ TikTools

-signApiKey: 'EULER_API_KEY'
+signApiKey: 'TIKTOOL_API_KEY'

Получите бесплатный ключ на tik.tools - без банковской карты.

✅
Вот и всё. Все ваши обработчики событий работают так же - chat, gift, member, roomUser, like, follow, share, emote, linkMicBattle, linkMicArmies, questionNew, getState(), connect(), disconnect().

Полный рабочий пример

Этот код одинаково работает и с tiktok-live-connector, и с @tiktool/live. Меняется только импорт.

// Before: const { WebcastPushConnection } = require('tiktok-live-connector');
const { WebcastPushConnection } = require('@tiktool/live');

const connection = new WebcastPushConnection('username', {
  signApiKey: 'YOUR_TIKTOOL_API_KEY',
});

connection.on('chat', data => {
  console.log(`${data.user.uniqueId}: ${data.comment}`);
});

connection.on('gift', data => {
  console.log(`${data.user.uniqueId} sent ${data.giftName}`);
});

connection.on('roomUser', data => {
  console.log(`Viewers: ${data.viewerCount}`);
});

connection.on('connected', state => {
  console.log('Connected!', connection.getState());
});

connection.connect();

100% совместимость названий событий

Каждое название события TTLC работает точно так же. Параллельно мы отправляем и родное название события TikTools.

Событие TTLCСтатусПримечания
chat✓Идентично
member✓Идентично
gift✓Идентично
like✓Идентично
follow✓Идентично
share✓Идентично
subscribe✓Идентично
social✓Идентично
roomUser✓Псевдоним для roomUserSeq - срабатывают оба
questionNew✓Псевдоним для question - срабатывают оба
linkMicBattle✓Псевдоним для battle - срабатывают оба
linkMicArmies✓Псевдоним для battleArmies - срабатывают оба
emote✓Псевдоним для emoteChat - срабатывают оба
envelope✓Идентично
liveIntro✓Идентично
roomPin✓Идентично
barrage✓Идентично
superFan✓Новое в 2.0.8 - поддерживается
superFanJoin✓Новое в 2.0.8 - поддерживается
superFanBox✓Новое в 2.0.8 - поддерживается
connected✓Идентично
disconnected✓Идентично
error✓Идентично
streamEnd✓Идентично
rawData✓Срабатывает с полным исходным payload события
websocketConnected✓Срабатывает при открытии WS

Зачем переходить на управляемый API?

🛡️

Не ломается

TikTok регулярно обновляет протокол, и прямые интеграции ломаются. TikTool берёт все изменения протокола на себя - без простоев.

⚡

Быстрая доставка событий

Задержка событий менее 50 мс благодаря оптимизированной инфраструктуре. Никакого декодирования protobuf на вашей стороне.

🧩

Без зависимостей

Ни protobufjs, ни ws-клиента, ни HTTP-подписи. Один npm-пакет без внешних зависимостей.

🔄

Автопереподключение

Встроенное переподключение с экспоненциальной задержкой. Соединение переживает сбои сети и перезапуски серверов TikTok.

📊

Панель использования

Следите за использованием API, WebSocket-соединениями и объёмом событий в реальном времени на tik.tools/dashboard.

💬

Поддержка разработчиков

Помощь в Discord, по email или в чате поддержки на сайте. Время ответа - менее 4 часов.

Частые вопросы

Мои типы TypeScript продолжат работать?

Да. @tiktool/live поставляется с полными определениями TypeScript для payload каждого события - chat, gift, roomUser и всех остальных. Если вы использовали типы TTLC от сообщества, наши строже и всегда соответствуют актуальной схеме protobuf TikTok.

А как же опции TTLC вроде sessionId, processInitialData и requestPollingIntervalMs?

Опции конструктора, управляющие соединением, - sessionId, requestPollingIntervalMs, enableExtendedGiftInfo и подобные - принимаются и передаются дальше. Опции, которые больше не нужны (например, processInitialData), молча игнорируются, так что объект конфигурации чистить не придётся.

TTLC иногда работает без API-ключа. Нужен ли он для TikTool?

Да - нужен signApiKey. Бесплатный ключ Sandbox можно получить за 30 секунд на tik.tools/login, без банковской карты. Sandbox включает 5 000 вызовов API в день и 3 одновременных WebSocket-соединения - этого достаточно для разработки и тестирования.

Что на самом деле происходит, когда TikTok обновляет протокол?

С TTLC периодические обновления алгоритма подписи и схемы protobuf в TikTok ломают библиотеку - иногда уже через несколько часов после деплоя TikTok, и исправления нет, пока его не выпустит мейнтейнер open-source проекта. С TikTool обновления протокола обрабатываются на наших управляемых серверах. Ваш код ничего не замечает, события продолжают приходить.

Бонус: возможности, которых нет в TTLC

🔍

Live Feed Discovery

Ищите, кто сейчас в эфире в TikTok. Фильтры по языку, региону и числу зрителей.

🐍

Python SDK

Полноценный Python SDK: pip install tiktok-live-api. Тот же API, те же события, другой язык.

Готовы перейти?

Получите бесплатный API-ключ - без банковской карты. Тариф Sandbox включает 5 000 запросов в день и 3 одновременных WebSocket-соединения - бесплатно, только для разработки и оценки.