チュートリアル · 無料 · 5分

TikTok LIVEチャットボットを作る

どのTikTok LIVE配信からも、チャット、ギフト、入室のイベントをすべて読み取り、自分のアプリでコマンドに反応できます。Node.jsかPythonで、60行未満のコードで動きます。

1

SDKをインストール

パッケージは一つだけ。ビルド不要。Node 18+かPython 3.9+の環境ならどこでも動きます。

npm install @tiktool/live
2

認証情報を設定

必要なものは一つだけです:

export TIKTOOL_API_KEY="tk_yourkey"
export TIKTOK_USERNAME="target_streamer"
3

ボットを書く

チャット、ギフト、入室、いいねを受け取ります。!helloと!pingのコマンドには、オーバーレイ、サウンド、Webhookなど自分で決めたアクションで反応します。

// bot.mjs
import { TikTokLive } from '@tiktool/live'

const USERNAME = process.env.TIKTOK_USERNAME
const API_KEY  = process.env.TIKTOOL_API_KEY

// Your reaction to a command: trigger an overlay, play a sound, call a webhook.
function onCommand(name, user) {
  console.log(`command ${name} from @${user}`)
}

const client = new TikTokLive({ uniqueId: USERNAME, apiKey: API_KEY })
client.on('connected', e => console.log(`connected to room ${e.roomId}`))
client.on('chat', e => {
  console.log(`@${e.user.uniqueId}: ${e.comment}`)
  if (e.comment.toLowerCase() === '!hello') onCommand('hello', e.user.uniqueId)
  if (e.comment.toLowerCase() === '!ping')  onCommand('ping', e.user.uniqueId)
})
client.on('gift', e => console.log(`gift: ${e.user.uniqueId} → ${e.giftName} (${e.diamondCount}💎)`))
client.connect()
4

実行

ボットは止めるまで接続し続けます。再接続の処理はSDKに組み込まれています。

node bot.mjs

どのTikTokアカウントからでも、配信者のチャットに!helloか!pingと入力すると、ボットがあなたのアカウントとして返信します。

あらかじめ考慮すべき制限

以下はすべてTikTokがアカウント/IPに対して課している制限で、tik.toolsが解除できるものではありません。これらを踏まえてボットのロジックを組んでください。

~100k

配信ごとの毎分のイベント数

大物クリエイター(視聴者1M+)の配信では、毎分数万件のイベントが流れます。ボットは余裕を持って処理する必要があり、チャットのたびにイベントループを止めてはいけません。重い処理は捨てるかキューに入れてください。

配信終了

LIVEが終わるとセッションも終了

配信者がLIVEを終了するとWebSocketが閉じ、SDKがdisconnectedを発火します。配信者が再び配信を始めたら再接続してください。tik.tools/api/live/check-liveをポーリングするか、Webhookを使います。

提携なし

TikTokの公認ではありません

これは非公式の連携です。ボットには専用のTikTokアカウントを使い、メインアカウントと混ぜないでください。クリエイターになりすますのも禁止です。ボットがスパムのように見えると、TikTokがアカウントを停止することがあります。