Чат-бот для TikTok LIVE
Читайте каждое сообщение чата, подарок и вход зрителя на любой трансляции TikTok LIVE и реагируйте на команды в своём приложении. Node.js или Python, меньше 60 строк кода.
Установите SDK
Один пакет. Без сборки. Работает в любой среде с Node 18+ или Python 3.9+.
npm install @tiktool/liveУкажите ключ
Нужно всего одно:
- API-ключ - из вашей панели. Для одного стрима хватит бесплатного тарифа.
export TIKTOOL_API_KEY="tk_yourkey"
export TIKTOK_USERNAME="target_streamer"Напишите бота
Слушает чат, подарки, входы, лайки. Реагирует на команды !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()Запустите
Бот остаётся на связи, пока вы его не остановите. Логика переподключения встроена в SDK.
node bot.mjsНапишите !hello или !ping с любого аккаунта TikTok в чат стримера - и посмотрите, как реагирует ваш бот.
Ограничения, которые стоит учесть
Всё, что ниже, TikTok применяет к вашему аккаунту/IP - tik.tools не может это снять. Учитывайте это в логике бота.
событий на стрим в минуту
У крупных стримеров (1 млн+ зрителей) приходят десятки тысяч событий в минуту. Обрабатывайте их лениво - не блокируйте event loop на каждом сообщении. Тяжёлую работу отбрасывайте или ставьте в очередь.
сессия заканчивается вместе с LIVE
Когда стример завершает LIVE, WebSocket закрывается. SDK отправляет disconnected. Переподключайтесь, когда стример снова выйдет в эфир - опрашивайте tik.tools/api/live/check-live или используйте webhook.
не одобрено TikTok
Это неофициальная интеграция. Не выдавайте себя за стримеров и следите, чтобы всё, что запускает ваш бот, соответствовало правилам сообщества TikTok.