Переход с TikTok-Live-Connector за секунды
Уже используете tiktok-live-connector? Переходите на управляемый TikTool API, изменив одну строку импорта. Те же названия событий, те же методы, никаких изменений в коде.
Установите SDK
npm install @tiktool/liveИзмените одну строку импорта
const { WebcastPushConnection } = require('tiktok-live-connector');const { WebcastPushConnection } = require('@tiktool/live');Используйте свой API-ключ TikTools
signApiKey: 'EULER_API_KEY'signApiKey: 'TIKTOOL_API_KEY'Получите бесплатный ключ на tik.tools - без банковской карты.
Полный рабочий пример
Этот код одинаково работает и с 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-соединения - бесплатно, только для разработки и оценки.