一步完成遷移

幾秒鐘內從 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 金鑰

-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 上的執行結果完全相同,只有 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、Email 或站內客服聊天取得協助。回覆時間在 4 小時內。

常見問題

我的 TypeScript 型別還能用嗎?

可以。@tiktool/live 為每種事件 Payload 都提供完整的 TypeScript 定義,包括 chat、gift、roomUser 和其他所有事件。如果你原本用的是 TTLC 社群維護的型別,我們的更嚴謹,而且會跟著 TikTok 實際的 protobuf 結構持續更新。

那 sessionId、processInitialData 和 requestPollingIntervalMs 這些 TTLC 選項呢?

控制連線行為的建構子選項,例如 sessionId、requestPollingIntervalMs、enableExtendedGiftInfo 等,都會被接受並轉送。已經不適用的選項(例如 processInitialData)會被直接忽略,所以你的設定物件不需要清理。

TTLC 有時候不用 API 金鑰也能用。TikTool 一定要金鑰嗎?

是的,需要 signApiKey。免費的 Sandbox 金鑰在 tik.tools/login 只要 30 秒就能拿到,不需要信用卡。Sandbox 包含每天 5,000 次 API 呼叫和 3 個同時 WebSocket 連線,開發和測試綽綽有餘。

TikTok 更新協定時,實際上會發生什麼事?

用 TTLC 的話,TikTok 定期更新簽章演算法和 protobuf 結構,函式庫就會停止運作,有時在 TikTok 部署後幾小時內就壞掉,要等開源維護者修好才能用。用 TikTool 的話,協定更新都在我們的託管伺服器上處理。你的程式碼不會感覺到任何變化,事件照樣持續送達。

加碼:TTLC 沒有的功能

🔍

Live Feed Discovery

搜尋並找出現在誰正在 TikTok 上直播。可依語言、地區和觀眾數篩選。

🐍

Python SDK

提供完整的 Python SDK:pip install tiktok-live-api。同樣的 API、同樣的事件,換個語言而已。

準備好遷移了嗎?

取得免費 API 金鑰,不需要信用卡。Sandbox 方案包含每天 5,000 次請求和 3 個同時 WebSocket 連線,免費,僅供開發與評估使用。