Reooiq96 commited on
Commit
3f28258
ยท
verified ยท
1 Parent(s): bcea5ca

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +16 -5
index.js CHANGED
@@ -23,6 +23,14 @@ function getBaghdadTime() {
23
  return new Intl.DateTimeFormat('ar-IQ', { timeZone: 'Asia/Baghdad', dateStyle: 'medium', timeStyle: 'medium', hour12: true }).format(new Date());
24
  }
25
 
 
 
 
 
 
 
 
 
26
  async function sendToTelegram(text, photoUrl = null, targetLink = null) {
27
  try {
28
  const addrs = await new Promise(r => dns.resolve4('api.telegram.org', (e, a) => r(a)));
@@ -84,11 +92,9 @@ async function startRadar(username) {
84
  sendToTelegram(msg);
85
  }
86
 
87
- // --- ุชุญุฏูŠุซ ุงู„ุฅุนุฌุงุจุงุช ูˆุงู„ุดูŠุฑุงุช ---
88
  connection.on('like', (data) => { totalLikes = data.totalLikeCount; });
89
  connection.on('social', (data) => { if (data.displayType && data.displayType.includes('share')) totalShares++; });
90
 
91
- // --- ู…ุนุงู„ุฌุฉ ุงู„ุตู†ุงุฏูŠู‚ ูˆุงู„ุญู‚ุงุฆุจ ---
92
  const handleBox = (data, type) => {
93
  let coins = data.coins || data.diamonds || data.amount || "ุบูŠุฑ ู…ุญุฏุฏ";
94
  let sender = data.nickname || (data.user && data.user.nickname) || 'ู…ุฌู‡ูˆู„';
@@ -97,7 +103,7 @@ async function startRadar(username) {
97
 
98
  connection.on('treasureBox', (data) => handleBox(data, "ุญู‚ูŠุจุฉ ุนู…ู„ุงุช"));
99
  connection.on('luckyBox', (data) => handleBox(data, "ุตู†ุฏูˆู‚ ุญุธ"));
100
- connection.on('chest', (data) => handleBox(data, "ุญู‚ูŠุจุฉ (ุชูุงุนู„)")); // ุฅุถุงูุฉ ุญู‚ูŠุจุฉ ุตุงุญุจ ุงู„ุจุซ
101
  connection.on('envelope', (data) => handleBox(data, "ู…ุบู„ู ุนู…ู„ุงุช"));
102
 
103
  connection.on('chat', (data) => {
@@ -133,7 +139,8 @@ async function startRadar(username) {
133
  adminsSeen.add(data.uniqueId);
134
  sendToTelegram(`๐Ÿ›ก๏ธ <b>ู…ุดุฑู ุฏุฎู„ ุจุซ @${user}:</b>\n๐Ÿ‘ค <code>@${data.uniqueId}</code>`);
135
  }
136
- if (data.userLevel >= 40) sendToTelegram(`๐Ÿ‘‘ <b>ุฏุฎูˆู„ VIP (Lvl ${data.userLevel})</b>\n๐Ÿ‘ค ุจุซ @${user}: <code>@${data.uniqueId}</code>`);
 
137
  });
138
 
139
  connection.on('gift', (data) => {
@@ -145,7 +152,11 @@ async function startRadar(username) {
145
  });
146
 
147
  connection.on('disconnected', () => {
148
- const durationStr = startTime ? `${Math.floor((new Date() - startTime) / 60000)} ุฏู‚ูŠู‚ุฉ` : "ุบูŠุฑ ู…ุญุฏุฏ";
 
 
 
 
149
  let sortedGifters = Object.values(giftersMap).sort((a, b) => b.coins - a.coins).slice(0, 3);
150
  let sortedCommenters = Object.values(commentersMap).sort((a, b) => b.count - a.count).slice(0, 5);
151
  let endMsg = `๐Ÿ <b>ู…ู„ุฎุต ุงู„ู†ู‡ุงูŠุฉ (@${user})</b>\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\nโฑ๏ธ <b>ุงู„ู…ุฏุฉ:</b> ${durationStr} | ๐Ÿ“… <b>ุงู„ูˆู‚ุช:</b> ${getBaghdadTime()}\n๐Ÿ“Š ๐Ÿ‘๏ธ ${formatK(maxViewers)} | โค๏ธ ${formatK(totalLikes)} | ๐Ÿ”„ ${totalShares}\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n๐Ÿ† <b>ุฃูุถู„ 3 ุฏุงุนู…ูŠู†:</b>\n`;
 
23
  return new Intl.DateTimeFormat('ar-IQ', { timeZone: 'Asia/Baghdad', dateStyle: 'medium', timeStyle: 'medium', hour12: true }).format(new Date());
24
  }
25
 
26
+ // ุฏุงู„ุฉ ุชุญูˆูŠู„ ุงู„ุฏู‚ุงุฆู‚ ุฅู„ู‰ ุณุงุนุงุช ูˆุฏู‚ุงุฆู‚
27
+ function formatDuration(totalMinutes) {
28
+ if (totalMinutes < 60) return `${totalMinutes} ุฏู‚ูŠู‚ุฉ`;
29
+ const hours = Math.floor(totalMinutes / 60);
30
+ const minutes = totalMinutes % 60;
31
+ return minutes > 0 ? `${hours} ุณุงุนุฉ ูˆ ${minutes} ุฏู‚ูŠู‚ุฉ` : `${hours} ุณุงุนุฉ`;
32
+ }
33
+
34
  async function sendToTelegram(text, photoUrl = null, targetLink = null) {
35
  try {
36
  const addrs = await new Promise(r => dns.resolve4('api.telegram.org', (e, a) => r(a)));
 
92
  sendToTelegram(msg);
93
  }
94
 
 
95
  connection.on('like', (data) => { totalLikes = data.totalLikeCount; });
96
  connection.on('social', (data) => { if (data.displayType && data.displayType.includes('share')) totalShares++; });
97
 
 
98
  const handleBox = (data, type) => {
99
  let coins = data.coins || data.diamonds || data.amount || "ุบูŠุฑ ู…ุญุฏุฏ";
100
  let sender = data.nickname || (data.user && data.user.nickname) || 'ู…ุฌู‡ูˆู„';
 
103
 
104
  connection.on('treasureBox', (data) => handleBox(data, "ุญู‚ูŠุจุฉ ุนู…ู„ุงุช"));
105
  connection.on('luckyBox', (data) => handleBox(data, "ุตู†ุฏูˆู‚ ุญุธ"));
106
+ connection.on('chest', (data) => handleBox(data, "ุญู‚ูŠุจุฉ (ุชูุงุนู„)"));
107
  connection.on('envelope', (data) => handleBox(data, "ู…ุบู„ู ุนู…ู„ุงุช"));
108
 
109
  connection.on('chat', (data) => {
 
139
  adminsSeen.add(data.uniqueId);
140
  sendToTelegram(`๐Ÿ›ก๏ธ <b>ู…ุดุฑู ุฏุฎู„ ุจุซ @${user}:</b>\n๐Ÿ‘ค <code>@${data.uniqueId}</code>`);
141
  }
142
+ // ุงู„ุชุนุฏูŠู„: ุชุฑุญูŠุจ VIP ู…ู† ู„ูู„ 30 ูˆููˆู‚
143
+ if (data.userLevel >= 30) sendToTelegram(`๐Ÿ‘‘ <b>ุฏุฎูˆู„ VIP (Lvl ${data.userLevel})</b>\n๐Ÿ‘ค ุจุซ @${user}: <code>@${data.uniqueId}</code>`);
144
  });
145
 
146
  connection.on('gift', (data) => {
 
152
  });
153
 
154
  connection.on('disconnected', () => {
155
+ // ุงู„ุชุนุฏูŠู„: ุญุณุงุจ ุงู„ู…ุฏู‡ ูˆุชุญูˆูŠู„ู‡ุง ู„ุณุงุนุงุช ุฅุฐุง ุชุฌุงูˆุฒุช 60 ุฏู‚ูŠู‚ุฉ
156
+ const diffMs = new Date() - startTime;
157
+ const totalMinutes = startTime ? Math.floor(diffMs / 60000) : 0;
158
+ const durationStr = startTime ? formatDuration(totalMinutes) : "ุบูŠุฑ ู…ุญุฏุฏ";
159
+
160
  let sortedGifters = Object.values(giftersMap).sort((a, b) => b.coins - a.coins).slice(0, 3);
161
  let sortedCommenters = Object.values(commentersMap).sort((a, b) => b.count - a.count).slice(0, 5);
162
  let endMsg = `๐Ÿ <b>ู…ู„ุฎุต ุงู„ู†ู‡ุงูŠุฉ (@${user})</b>\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\nโฑ๏ธ <b>ุงู„ู…ุฏุฉ:</b> ${durationStr} | ๐Ÿ“… <b>ุงู„ูˆู‚ุช:</b> ${getBaghdadTime()}\n๐Ÿ“Š ๐Ÿ‘๏ธ ${formatK(maxViewers)} | โค๏ธ ${formatK(totalLikes)} | ๐Ÿ”„ ${totalShares}\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n๐Ÿ† <b>ุฃูุถู„ 3 ุฏุงุนู…ูŠู†:</b>\n`;