教程 · 免费 · 5 分钟
开发 TikTok LIVE 弹幕机器人
读取任意 TikTok LIVE 直播的每条弹幕、每个礼物和进场事件,并在你自己的应用里响应指令。用 Node.js 或 Python 运行,代码不到 60 行。
1
安装 SDK
一个包搞定,无需构建步骤。支持任意 Node 18+ 或 Python 3.9+ 环境。
npm install @tiktool/live2
配置凭据
你只需要一样东西:
- 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 社区准则。