دليل المطورين

TikTok LIVE API لـ Node.js

ابنِ مساعدات وأوفرلاي ولوحات تحكم لـ TikTok LIVE بـ JavaScript. npm install، واتصل في 3 أسطر، واستقبل الأحداث لحظيًا. SDK مجاني ومفتوح المصدر برخصة MIT.

لماذا Node.js؟

Node.js هي بيئة التشغيل الأكثر استخدامًا لتكاملات TikTok LIVE. SDK @tiktool/live الرسمي مكتوب بـ TypeScript ومنشور على npm ويتضمن تعريفات الأنواع كاملة جاهزة. ستحصل على:

  • أمان الأنواع - تعريفات TypeScript كاملة لكل حدث ودالة
  • إعادة اتصال تلقائية - يتعامل SDK مع انقطاع الاتصال تلقائيًا
  • قائم على الأحداث - نمط .on('event', handler) المألوف
  • يعمل في كل مكان - Node.js 18+ و Bun و Deno

ثبّت SDK

npm install @tiktool/live

أو باستخدام مديري حزم آخرين:

# Yarn
yarn add @tiktool/live

# pnpm
pnpm add @tiktool/live

# Bun
bun add @tiktool/live

بداية سريعة: 3 أسطر للبيانات المباشرة

أنشئ app.mjs والصق:

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()

شغّله:

TIKTOOL_API_KEY=your_api_key node app.mjs

سترى رسائل الدردشة تتدفق في الطرفية خلال ثوانٍ.

كل الأحداث المتاحة

يرسل SDK أحداثًا منظمة لكل تفاعل في البث:

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!')

المخرجات المتوقعة

✅ 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 stream

دعم TypeScript

SDK مكتوب بـ TypeScript. الأنواع مضمّنة تلقائيًا، ولا حاجة لحزمة @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 مباشر (بدون SDK)

تفضّل استخدام WebSocket مباشرة؟ يعمل مع أي لغة أو إطار عمل:

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!'))

الأسئلة الشائعة

هل لدى TikTok واجهة Node.js API رسمية؟

لا. لا يوفر TikTok واجهة API عامة لبيانات بث LIVE. TikTools API خدمة مُدارة من طرف ثالث توفر وصولًا لحظيًا موثوقًا إلى الدردشة والهدايا والمشاهدين وأحداث LIVE الأخرى. حزمة npm @tiktool/live هي SDK الرسمي لهذه الواجهة.

هل هو مجاني؟

نعم. باقة Sandbox تمنحك 5,000 طلب يوميًا و 3 اتصالات WebSocket متزامنة - مجانًا، للتقييم فقط، بدون بطاقة ائتمان. سجّل من هنا.

هل يمكنني استخدامه مع Express أو Fastify أو Next.js؟

نعم. يعمل SDK في أي بيئة Node.js. استخدمه في معالجات مسارات Express، أو إضافات Fastify، أو مسارات Next.js API، أو سكربتات مستقلة.

هل يعمل مع Bun و Deno؟

نعم. SDK متوافق مع Bun و Deno. ثبّته عبر bun add @tiktool/live أو استورده من npm في Deno.