De ce Node.js?
Node.js este cel mai popular runtime pentru integrările TikTok LIVE. SDK-ul oficial @tiktool/live este scris în TypeScript, publicat pe npm și include din start definiții de tipuri complete. Primești:
- Siguranța tipurilor - definiții TypeScript complete pentru fiecare eveniment și metodă
- Reconectare automată - SDK-ul gestionează automat conexiunile întrerupte
- Bazat pe evenimente - tiparul familiar
.on('event', handler) - Funcționează oriunde - Node.js 18+, Bun, Deno
Instalează SDK-ul
npm install @tiktool/liveSau cu alți manageri de pachete:
# Yarn
yarn add @tiktool/live
# pnpm
pnpm add @tiktool/live
# Bun
bun add @tiktool/liveStart rapid: 3 linii până la date live
Creează app.mjs și lipește:
import { TikTokLive } from '@tiktool/live'
const client = new TikTokLive({
uniqueId: 'tv_asahi_news', // TikTok username (without @)
apiKey: process.env.TIKTOOL_API_KEY
})
client.on('chat', (event) => {
console.log(`${event.nickname}: ${event.comment}`)
})
await client.connect()Rulează-l:
TIKTOOL_API_KEY=your_api_key node app.mjsÎn câteva secunde vei vedea mesajele din chat apărând în terminal.
Toate evenimentele disponibile
SDK-ul emite evenimente structurate pentru fiecare interacțiune din LIVE:
import { TikTokLive } from '@tiktool/live'
const client = new TikTokLive({
uniqueId: 'target_username',
apiKey: process.env.TIKTOOL_API_KEY
})
// Chat messages
client.on('chat', (event) => {
console.log(`[CHAT] ${event.nickname}: ${event.comment}`)
})
// Virtual gifts (Rose, Universe, etc.)
client.on('gift', (event) => {
console.log(`[GIFT] ${event.nickname} sent ${event.giftName} (${event.diamondCount} 💎)`)
})
// New followers
client.on('follow', (event) => {
console.log(`[FOLLOW] ${event.nickname} just followed!`)
})
// Likes
client.on('like', (event) => {
console.log(`[LIKE] ${event.nickname} liked (total: ${event.totalLikeCount})`)
})
// Viewer count changes
client.on('viewer_count', (event) => {
console.log(`[VIEWERS] ${event.viewerCount} watching`)
})
// Member joins (someone enters the stream)
client.on('member', (event) => {
console.log(`[JOIN] ${event.nickname} joined the stream`)
})
// Share events
client.on('share', (event) => {
console.log(`[SHARE] ${event.nickname} shared the stream`)
})
await client.connect()
console.log('✅ Connected and listening!')Rezultat așteptat
✅ Connected and listening!
[VIEWERS] 3,412 watching
[CHAT] viewer_1: Hello everyone! 👋
[FOLLOW] new_fan just followed!
[GIFT] whale_user sent Universe (34,000 💎)
[LIKE] cool_viewer liked (total: 12,847)
[CHAT] fan_123: Love this stream!
[JOIN] curious_viewer joined the stream
[SHARE] supporter_1 shared the streamSuport TypeScript
SDK-ul este scris în TypeScript. Tipurile sunt incluse automat - nu ai nevoie de pachetul @types:
import { TikTokLive } from '@tiktool/live'
import type { ChatEvent, GiftEvent } from '@tiktool/live'
const client = new TikTokLive({
uniqueId: 'target_username',
apiKey: process.env.TIKTOOL_API_KEY
})
client.on('chat', (event: ChatEvent) => {
// event.comment, event.nickname, event.userId - all typed
console.log(event.nickname, event.comment)
})
client.on('gift', (event: GiftEvent) => {
// event.giftName, event.diamondCount, event.repeatCount - all typed
if (event.diamondCount >= 100) {
console.log(`Big gift from ${event.nickname}!`)
}
})
await client.connect()WebSocket direct (fără SDK)
Preferi să folosești direct WebSocket-ul? Funcționează cu orice limbaj sau framework:
import WebSocket from 'ws' // npm install ws
const ws = new WebSocket(
'wss://api.tik.tools?uniqueId=tv_asahi_news&apiKey=YOUR_API_KEY'
)
ws.on('message', (raw) => {
const msg = JSON.parse(raw.toString())
switch (msg.event) {
case 'chat':
console.log(`${msg.data.user.nickname}: ${msg.data.comment}`)
break
case 'gift':
console.log(`Gift: ${msg.data.giftName} (${msg.data.diamondCount} 💎)`)
break
case 'viewer_count':
console.log(`Viewers: ${msg.data.viewerCount}`)
break
}
})
ws.on('open', () => console.log('Connected!'))Întrebări frecvente
Are TikTok un API oficial Node.js?
Nu. TikTok nu oferă un API public pentru datele LIVE-urilor. API-ul TikTools este un serviciu administrat de terță parte, care oferă acces fiabil în timp real la chat, cadouri, spectatori și alte evenimente LIVE. Pachetul npm @tiktool/live este SDK-ul oficial pentru acest API.
Este gratuit?
Da. Planul Sandbox îți oferă 5.000 de cereri/zi și 3 conexiuni WebSocket simultane - gratuit, doar pentru evaluare, fără card de credit. Înregistrează-te aici.
Îl pot folosi cu Express, Fastify sau Next.js?
Da. SDK-ul funcționează în orice mediu Node.js. Folosește-l în handlerele de rute Express, în pluginuri Fastify, în rutele API Next.js sau în scripturi independente.
Funcționează cu Bun și Deno?
Da. SDK-ul este compatibil cu Bun și Deno. Instalează-l cu bun add @tiktool/live sau importă-l din npm în Deno.