幾秒鐘內從 TikTok-Live-Connector 轉換過來
已經在用 tiktok-live-connector?只要改一行 import,就能轉換到託管的 TikTool API。事件名稱一樣、方法一樣,完全不用改程式碼。
安裝 SDK
npm install @tiktool/live改一行 import
const { WebcastPushConnection } = require('tiktok-live-connector');const { WebcastPushConnection } = require('@tiktool/live');使用你的 TikTools API 金鑰
signApiKey: 'EULER_API_KEY'signApiKey: 'TIKTOOL_API_KEY'到 tik.tools 取得免費金鑰,不需要信用卡。
完整可執行範例
這段程式碼在 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 連線,免費,僅供開發與評估使用。