一步迁移

几秒钟内从 TikTok-Live-Connector 迁移

已经在用 tiktok-live-connector?只需改一行 import,即可切换到托管的 TikTool API。事件名相同,方法相同,无需改动其他代码。

1

安装 SDK

npm install @tiktool/live
2

修改一行 import

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

使用你的 TikTools API Key

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

在 tik.tools 获取免费 Key,无需信用卡。

✅
就这么简单。你现有的所有事件处理函数都照常工作:chat, gift, member, roomUser, like, follow, share, emote, linkMicBattle, linkMicArmies, questionNew, getState(), connect(), disconnect()。

完整可运行示例

这段代码在 tiktok-live-connector 和 @tiktool/live 下运行效果完全相同,只需修改 import。

// 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 替你处理所有协议变更,零停机。

⚡

更快的事件推送

依托我们优化过的基础设施,事件延迟低于 50ms。你这边无需解码 protobuf。

🧩

零依赖

无需 protobufjs、ws-client,也无需 HTTP 签名。只需一个零外部依赖的 npm 包。

🔄

自动重连

内置指数退避重连。网络抖动或 TikTok 服务器重启时,连接都能保持。

📊

用量控制台

在 tik.tools/dashboard 实时监控你的 API 用量、WebSocket 连接和事件量。

💬

开发者支持

通过 Discord、邮件或站内在线客服获取帮助,响应时间不超过 4 小时。

常见问题

我的 TypeScript 类型还能用吗?

能。@tiktool/live 为每种事件 payload 提供完整的 TypeScript 类型定义,包括 chat、gift、roomUser 等全部事件。如果你之前用的是 TTLC 社区维护的类型,我们的类型更严格,并会随 TikTok 实际的 protobuf schema 持续更新。

TTLC 的 sessionId、processInitialData、requestPollingIntervalMs 等选项怎么办?

控制连接行为的构造函数选项,如 sessionId、requestPollingIntervalMs、enableExtendedGiftInfo 等,都会被接收并转发。不再适用的选项(如 processInitialData)会被静默忽略,你的配置对象无需清理。

TTLC 有时不需要 API Key 也能用。TikTool 需要吗?

需要,必须提供 signApiKey。在 tik.tools/login 获取免费 Sandbox Key 只需 30 秒,无需信用卡。Sandbox 包含每天 5,000 次 API 调用和 3 个并发 WebSocket 连接,足够开发和测试使用。

TikTok 更新协议时,实际会发生什么?

使用 TTLC 时,TikTok 定期更新签名算法和 protobuf schema 会导致库直接失效,有时在 TikTok 发版后几小时内就会出问题,而在开源维护者修复之前没有任何办法。使用 TikTool 时,协议更新由我们的托管服务器处理。你的代码感觉不到任何变化,事件照常到达。

额外福利:TTLC 没有的功能

🔍

Live Feed 发现

搜索并发现当前正在 TikTok 上直播的主播。可按语言、地区和观众数筛选。

🐍

Python SDK

提供完整的 Python SDK:pip install tiktok-live-api。API 相同,事件相同,只是语言不同。

准备好迁移了吗?

获取免费 API Key,无需信用卡。Sandbox 套餐包含每天 5,000 次请求和 3 个并发 WebSocket 连接,免费,仅限开发和评估使用。