Туториал · Бесплатно · 5 минут

Чат-бот для TikTok LIVE

Читайте каждое сообщение чата, подарок и вход зрителя на любой трансляции TikTok LIVE и реагируйте на команды в своём приложении. Node.js или Python, меньше 60 строк кода.

1

Установите SDK

Один пакет. Без сборки. Работает в любой среде с Node 18+ или Python 3.9+.

npm install @tiktool/live
2

Укажите ключ

Нужно всего одно:

  • API-ключ - из вашей панели. Для одного стрима хватит бесплатного тарифа.
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

Напишите !hello или !ping с любого аккаунта TikTok в чат стримера - и посмотрите, как реагирует ваш бот.

Ограничения, которые стоит учесть

Всё, что ниже, TikTok применяет к вашему аккаунту/IP - tik.tools не может это снять. Учитывайте это в логике бота.

~100k

событий на стрим в минуту

У крупных стримеров (1 млн+ зрителей) приходят десятки тысяч событий в минуту. Обрабатывайте их лениво - не блокируйте event loop на каждом сообщении. Тяжёлую работу отбрасывайте или ставьте в очередь.

конец стрима

сессия заканчивается вместе с LIVE

Когда стример завершает LIVE, WebSocket закрывается. SDK отправляет disconnected. Переподключайтесь, когда стример снова выйдет в эфир - опрашивайте tik.tools/api/live/check-live или используйте webhook.

не аффилирован

не одобрено TikTok

Это неофициальная интеграция. Не выдавайте себя за стримеров и следите, чтобы всё, что запускает ваш бот, соответствовало правилам сообщества TikTok.