AIZorenixUploader AI appears to be a Telegram automation bot. Commands include /start, /@, /!, /@@, /*, /files, /dl, /verify. Observed in code: messaging, storage, libs, keyboards, web.

Utilityutility
42 commands0 envUpdated 1mo agoCreated Sep 22, 2026
Back to folder

commands/_handle_message_reaction.js

javascript · 78 lines

Raw
1/**#command2name: /handle_message_reaction3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// ═══════════ /handle_message_reaction — ثبت خودکار ری‌اکشن ═══════════13let cfg = await db.bot.get("cfg", {})14let r = (update && update.message_reaction) ? update.message_reaction : null15if (!r) { return }16 17let ru = (r.user && r.user.id) ? r.user.id : 018if (!ru) { return }19 20// آیا ری‌اکشن روی پست ری‌اکشن خودمونه؟ (یا تو کانال خروجی)21let mid = Number(r.message_id || 0)22let chId = String((r.chat && r.chat.id) ? r.chat.id : "")23let chUn = (r.chat && r.chat.username) ? ("@" + r.chat.username) : ""24let outCh = String(cfg.out_channel || "")25let onReact = (!!(cfg.react_msg && Number(cfg.react_msg) === mid) || !!(outCh && (outCh === chUn || outCh === chId)))26if (!onReact) { return }27 28let nre = Array.isArray(r.new_reaction) ? r.new_reaction.length : 029 30// ری‌اکشن برداشته شد → قفلش دوباره بسته می‌شه31if (nre === 0) {32  await db.bot.del("rok:" + ru)33  return34}35 36// ❤️ ری‌اکشن ثبت شد37await db.bot.set("rok:" + ru, true, { ttl: 2592000 })38await db.bot.set("pass:" + ru, Date.now(), { ttl: 300 })39 40// ── چک بقیه‌ی قفل‌ها41let left = []42if (cfg.gate_join !== false) {43  let chans = (cfg.channels || []).filter(x => x)44  if (chans.length) {45    let c1 = await Libs.mcl.check(ru, chans.slice(0, 10))46    if (!c1.allJoined) { left.push("📢 عضویت کانال‌های ما") }47  }48}49if (cfg.gate_save !== false) {50  let sok2 = await db.bot.get("sok:" + ru, false)51  if (sok2 !== true) { left.push("💾 سیو (سین) کردن پست") }52}53 54let lid2 = await db.bot.get("last:" + ru, null)55 56let t2 = "❤️ <b>ری‌اکشت ثبت شد!</b>\n\n"57if (left.length) {58  t2 = t2 + "❌ هنوز این‌ها مونده:\n"59  for (let i = 0; i < left.length; i++) { t2 = t2 + "▫️ " + Libs.tgutil.escapeText(left[i], "html") + "\n" }60  t2 = t2 + "\nانجامش بده و «🔄 بررسی وضعیت» رو بزن."61} else if (lid2) {62  t2 = t2 + "✅ همه‌ی قفل‌ها باز شد — خودم دارم آموزش رو می‌فرستم 🤖\nبرگرد به ربات و «🔄 بررسی وضعیت» رو بزن تا آموزش رو بگیری."63} else {64  t2 = t2 + "حالا از منو آموزش مورد نظرت رو انتخاب کن 📚"65}66 67// به خود کاربر تو پیوی خبر بده68Api.sendMessage({69  chat_id: ru,70  text: t2,71  parse_mode: "HTML",72  reply_markup: {73    inline_keyboard: [74      [{ text: "🔄 بررسی وضعیت", callback_data: "verify" }],75      [{ text: "📚 آموزش‌ها", callback_data: "files 0" }]76    ]77  }78})