教程 · 免费 · 5 分钟

开发 TikTok LIVE 弹幕机器人

读取任意 TikTok LIVE 直播的每条弹幕、每个礼物和进场事件,并在你自己的应用里响应指令。用 Node.js 或 Python 运行,代码不到 60 行。

1

安装 SDK

一个包搞定,无需构建步骤。支持任意 Node 18+ 或 Python 3.9+ 环境。

npm install @tiktool/live
2

配置凭据

你只需要一样东西:

  • API Key - 从你的控制台获取。监听一个直播用 7 天评估 Key 就够了。
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+ 观众)每分钟会产生数万个事件。你的机器人需要异步处理,不要在每条弹幕上阻塞事件循环。重活要么丢弃,要么放进队列。

直播结束

会话随直播结束

主播下播后,WebSocket 会关闭,SDK 会触发 disconnected。等主播重新开播后再重连,可以轮询 tik.tools/api/live/check-live 或使用 Webhook。

非官方合作

未获 TikTok 认可

这是一个非官方集成。不要冒充主播,并确保机器人触发的所有内容都符合 TikTok 社区准则。