Reoo88 commited on
Commit
6dfdd73
·
verified ·
1 Parent(s): e3e1b13

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +45 -27
index.js CHANGED
@@ -2,15 +2,14 @@ const { WebcastPushConnection } = require('tiktok-live-connector');
2
  const axios = require('axios');
3
  const dns = require('dns');
4
 
5
- // --- الإعدادات الأساسية ⚙️ ---
6
  const TIKTOK_USERNAME = "ah_md107";
7
  const TELEGRAM_TOKEN = "8576498050:AAHB51H9vLwFhDUFqYWttPaSa5qhPLzQVWE";
8
  const TELEGRAM_CHAT_ID = "-1002856018359";
9
 
10
  dns.setServers(['8.8.8.8']);
11
 
12
- // متغير لحفظ أعلى مستوى "مئات" تم الوصول إليه 🏰
13
- let highestHundredReached = 0;
14
 
15
  async function sendToTelegram(text) {
16
  try {
@@ -21,7 +20,7 @@ async function sendToTelegram(text) {
21
  parse_mode: 'HTML',
22
  disable_web_page_preview: false
23
  }, { headers: { 'Host': 'api.telegram.org' } });
24
- } catch (e) { console.log("خطأ في إرسال التلجرام"); }
25
  }
26
 
27
  let tiktokConnection = new WebcastPushConnection(TIKTOK_USERNAME, {
@@ -33,41 +32,60 @@ let tiktokConnection = new WebcastPushConnection(TIKTOK_USERNAME, {
33
  }
34
  });
35
 
36
- // 1. تنبيه عند فتح البث 🚀
37
  tiktokConnection.connect().then(state => {
38
- highestHundredReached = 0; // تصفير القمة عند بداية كل بث جديد
39
  const liveLink = `https://www.tiktok.com/@${TIKTOK_USERNAME}/live`;
40
- const msg = `🔴 <b>بدأ البث المباشر الآن!</b>\n\n` +
41
- `👤 الحساب: <code>${TIKTOK_USERNAME}</code>\n` +
42
- `🔗 الرابط: ${liveLink}`;
43
- sendToTelegram(msg);
44
- }).catch(err => {
45
- console.log("🔎 جاري البحث عن بث نشط...");
46
- });
47
 
48
- // 2. مراقبة الصعود فقط (نظام القمة) 🏔️
49
  tiktokConnection.on('roomUser', (data) => {
50
- const currentViewers = data.viewerCount;
51
  const liveLink = `https://www.tiktok.com/@${TIKTOK_USERNAME}/live`;
 
52
 
53
- // حساب مستوى المئات الحالي
54
- let currentHundredLevel = Math.floor(currentViewers / 100) * 100;
55
-
56
- // الشرط: يرسل فقط إذا كسرنا رقماً قياسياً جديداً في هذا البث 🏆
57
- if (currentHundredLevel >= 100 && currentHundredLevel > highestHundredReached) {
58
- const msg = `🚀 <b>مستوى قياسي جديد في البث!</b>\n\n` +
59
- `👁️ عدد المشاهدين الآن: <b>${currentViewers}</b>\n` +
60
- `📈 تجاوزنا عتبة: <b>${currentHundredLevel}</b>\n` +
61
  `🔗 الرابط: ${liveLink}`;
62
-
63
  sendToTelegram(msg);
64
- highestHundredReached = currentHundredLevel; // تحديث القمة الجديدة
65
- console.log(`✅ تم تسجيل قمة جديدة: ${currentHundredLevel}`);
66
  }
67
  });
68
 
 
69
  tiktokConnection.on('disconnected', () => {
70
- setTimeout(() => tiktokConnection.connect(), 15000);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  });
72
 
73
  require('http').createServer((req, res) => res.end('Radar Active')).listen(7860);
 
2
  const axios = require('axios');
3
  const dns = require('dns');
4
 
5
+ // --- الإعدادات ⚙️ ---
6
  const TIKTOK_USERNAME = "ah_md107";
7
  const TELEGRAM_TOKEN = "8576498050:AAHB51H9vLwFhDUFqYWttPaSa5qhPLzQVWE";
8
  const TELEGRAM_CHAT_ID = "-1002856018359";
9
 
10
  dns.setServers(['8.8.8.8']);
11
 
12
+ let highestHundred = 0;
 
13
 
14
  async function sendToTelegram(text) {
15
  try {
 
20
  parse_mode: 'HTML',
21
  disable_web_page_preview: false
22
  }, { headers: { 'Host': 'api.telegram.org' } });
23
+ } catch (e) { console.log("خطأ في التلجرام"); }
24
  }
25
 
26
  let tiktokConnection = new WebcastPushConnection(TIKTOK_USERNAME, {
 
32
  }
33
  });
34
 
35
+ // 1. إشعار بداية البث 🚀
36
  tiktokConnection.connect().then(state => {
37
+ highestHundred = 0;
38
  const liveLink = `https://www.tiktok.com/@${TIKTOK_USERNAME}/live`;
39
+ sendToTelegram(`🚀 <b>بدأ البث المباشر الآن!</b>\n👤 الحساب: <code>${TIKTOK_USERNAME}</code>\n🔗 الرابط: ${liveLink}`);
40
+ }).catch(err => console.log("بحث..."));
 
 
 
 
 
41
 
42
+ // 2. منطق إشعار "القمة الجديدة" 🏔️
43
  tiktokConnection.on('roomUser', (data) => {
44
+ const viewers = data.viewerCount;
45
  const liveLink = `https://www.tiktok.com/@${TIKTOK_USERNAME}/live`;
46
+ let currentHundred = Math.floor(viewers / 100) * 100;
47
 
48
+ if (currentHundred >= 100 && currentHundred > highestHundred) {
49
+ highestHundred = currentHundred;
50
+ const msg = `🎊 <b>إنجاز جديد في البث!</b>\n\n` +
51
+ `👁️ عدد المشاهدين الآن: <b>${viewers}</b>\n` +
52
+ `📈 تجاوزنا عتبة الـ <b>${currentHundred}</b> مشاهد\n` +
 
 
 
53
  `🔗 الرابط: ${liveLink}`;
 
54
  sendToTelegram(msg);
 
 
55
  }
56
  });
57
 
58
+ // 3. إشعار انتهاء البث (توقيت بغداد 🇮🇶) 🏁
59
  tiktokConnection.on('disconnected', () => {
60
+ const now = new Date();
61
+
62
+ // إعداد التنسيق لمدينة بغداد
63
+ const options = {
64
+ timeZone: 'Asia/Baghdad',
65
+ year: 'numeric',
66
+ month: 'numeric',
67
+ day: 'numeric',
68
+ hour: '2-digit',
69
+ minute: '2-digit',
70
+ hour12: true
71
+ };
72
+
73
+ const formatter = new Intl.DateTimeFormat('ar-IQ', options);
74
+ const parts = formatter.formatToParts(now);
75
+
76
+ // استخراج التاريخ والوقت من التنسيق العراقي
77
+ const dateStr = `${parts.find(p => p.type === 'day').value}/${parts.find(p => p.type === 'month').value}/${parts.find(p => p.type === 'year').value}`;
78
+ const timeStr = `${parts.find(p => p.type === 'hour').value}:${parts.find(p => p.type === 'minute').value} ${parts.find(p => p.type === 'dayPeriod').value}`;
79
+
80
+ const endMsg = `🏁 <b>انتهى البث المباشر</b>\n\n` +
81
+ `👤 الحساب: <code>${TIKTOK_USERNAME}</code>\n` +
82
+ `📅 التاريخ: ${dateStr}\n` +
83
+ `⏰ الوقت (بغداد): ${timeStr}\n` +
84
+ `🏆 أعلى قمة مشاهدين: ${highestHundred}`;
85
+
86
+ sendToTelegram(endMsg);
87
+
88
+ setTimeout(() => tiktokConnection.connect(), 30000);
89
  });
90
 
91
  require('http').createServer((req, res) => res.end('Radar Active')).listen(7860);