vaibhav12222vk/taskXmoneybotPublic ยท Bot Template

ProfileTelegram

AI๐Ÿ’Žโšก ๐™ˆ๐™ค๐™ฃ๐™š๐™ฎ๐™๐™–๐™จ๐™  โšก๐Ÿ’Ž appears to be a Telegram automation bot. Commands include /start, /admin, /adminback, /profile, /helpandsupport, /broadcast, /finduser, /contactuser. Observed in code: messaging, storage, keyboards, web.

Utilityutility
51 commands0 envUpdated 6d agoCreated Sep 16, 2026
Back to folder

commands/task_approve.js

javascript ยท 141 lines

Raw
1/**#command2name: task_approve3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12const OWNER_ID = 8888300020;13 14// ๐Ÿ” Admin Access15let admins = await db.bot.get("admins", []);16 17if (!Array.isArray(admins)) {18  admins = [];19}20 21let isAdmin =22  user.id == OWNER_ID ||23  admins.some(function(id) {24    return Number(id) == Number(user.id);25  });26 27if (!isAdmin) {28  return;29}30 31// ๐Ÿ†” Request ID32let requestId = String(params || "").trim();33 34if (!requestId) {35  return Bot.sendMessage("โŒ Request ID missing!");36}37 38// ๐Ÿ“ค Get submissions39let submissions = await db.bot.get("submissions", []);40 41if (!Array.isArray(submissions)) {42  submissions = [];43}44 45let index = submissions.findIndex(function(s) {46  return String(s.id) === requestId &&47         s.type === "custom_task" &&48         s.status === "pending";49});50 51if (index === -1) {52  return Bot.sendMessage("โŒ Submission not found!");53}54 55let s = submissions[index];56 57let reward = Number(s.reward) || 0;58 59// ๐Ÿ’ฐ Add reward to user balance60let balance = Number(61  await db.user.get(62    "balance",63    0,64    { user_id: Number(s.user_id) }65  )66) || 0;67 68let newBalance = balance + reward;69 70await db.user.set(71  "balance",72  newBalance,73  { user_id: Number(s.user_id) }74);75 76// ๐ŸŽฏ Increase completed tasks77let completed = Number(78  await db.user.get(79    "tasks_completed",80    0,81    { user_id: Number(s.user_id) }82  )83) || 0;84 85await db.user.set(86  "tasks_completed",87  completed + 1,88  { user_id: Number(s.user_id) }89);90 91// โœ… Mark submission approved92submissions[index].status = "approved";93 94await db.bot.set("submissions", submissions);95 96// ๐Ÿ—‘๏ธ Delete completed task97let tasks = await db.bot.get("tasks", []);98 99if (!Array.isArray(tasks)) {100  tasks = [];101}102 103let taskIndex = tasks.findIndex(function(task) {104  return String(task.id) === String(s.task_id);105});106 107if (taskIndex !== -1) {108  tasks.splice(taskIndex, 1);109  await db.bot.set("tasks", tasks);110}111 112// ๐Ÿ”˜ Remove buttons113await Api.answerCallbackQuery({114  callback_query_id: update.callback_query.id,115  text: "โœ… Approved! Task deleted."116});117 118// โœ๏ธ Update admin message119await Api.editMessageText({120  chat_id: update.callback_query.message.chat.id,121  message_id: update.callback_query.message.message_id,122  text:123    "โœ… ๐™๐˜ผ๐™Ž๐™† ๐˜ผ๐™‹๐™‹๐™๐™Š๐™‘๐™€๐˜ฟ\n\n" +124    "๐Ÿ†” Request ID: " + s.id +125    "\n๐Ÿ†” Task ID: " + s.task_id +126    "\n๐Ÿ“ Task: " + s.task_title +127    "\n๐Ÿ‘ค User ID: " + s.user_id +128    "\n๐Ÿ’ฐ Reward: โ‚น" + reward.toFixed(2) +129    "\n\n๐Ÿ’ณ New Balance: โ‚น" + newBalance.toFixed(2) +130    "\n๐Ÿ—‘๏ธ Task automatically deleted."131});132 133// ๐Ÿ“ฉ Notify user134await Api.sendMessage({135  chat_id: Number(s.user_id),136  text:137    "โœ… ๐™๐˜ผ๐™Ž๐™† ๐˜ผ๐™‹๐™‹๐™๐™Š๐™‘๐™€๐˜ฟ\n\n" +138    "๐ŸŽฏ Task: " + s.task_title +139    "\n๐Ÿ’ฐ Reward: โ‚น" + reward.toFixed(2) +140    "\n๐Ÿ’ณ New Balance: โ‚น" + newBalance.toFixed(2)141});