suvo_/ImglyBotPublic · Bot Template

AIThis bot searches images through a Pinterest-related HTTP API and delivers results in private chats, inline mode, and guest business queries, with a search-more inline button and copy URL action. It tracks referrals from /start links, records referrer counts and lists, and displays referral benefits. The bot also handles business sticker messages by matching emoji and replying with a random sticker from the same set, asks users for feedback after feature usage, and includes an admin-only broadcast system plus a token-based clone-bot request flow.

Utilityimage-searchpinterestinline-modereferralbroadcastclone-bot
ProfileTelegram
27 commands3 envUpdated 2d agoCreated Jul 2, 2026
Back to folder

commands/_.js

javascript · 194 lines

Raw
1/**#command2name: *3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12let adminId = process.env.ADMIN_ID;13 14/*15return Api.sendMessage({16chat_id: process.env.ADMIN_ID,17  text: `<pre>${JSON.stringify(request, null, 2)}</pre>`,18  parse_mode: "HTML"19});20*/21 22if ("guest_query_id" in request && request.guest_query_id) {23  let query = (request.text || "").replaceAll(bot.first_name || "@ImglyBot", "").trim().toLowerCase();24 25  if (!query) return;26 27  let lastQuery = User.getProperty("last_query");28  let lastTime = User.getProperty("last_query_time") || 0;29 30  let now = Date.now();31 32  if (lastQuery === query && (now - lastTime) < 5000) {33 34    HTTP.post({35      url: "https://api.telegram.org/bot" + bot.token + "/answerGuestQuery",36      body: {37        guest_query_id: request.guest_query_id,38        result: JSON.stringify({39          type: "article",40          id: "spam_" + Date.now(),41          title: "⚠️ Slow down",42          description: "You are sending the same query too quickly.",43          message_text: "⚠️ Please wait a few seconds before sending the same query again."44        })45      }46    });47 48    return;49  }50 51  User.setProperty("last_query", query, "string");52  User.setProperty("last_query_time", now, "number");53 54  Bot.run({55    command: "/search",56    options: {57      query,58      type: "guest"59    }60  });61 62  return;63}64 65if ("query" in request) {66  if (request.query == "") {67    Api.answerInlineQuery({68      inline_query_id: request.id,69      cache_time: 0,70      results: JSON.stringify([{71        type: "article",72        id: "1",73        title: "✍️ Search Query",74        description: "Type Anything...",75        input_message_content: {76          message_text: "https://i.ibb.co/XZ6PWCP7/IMG-20260702-101416-074.jpg"77        }78      }])79    })80  }81  if (request.query) {82    let key = "lastInlineTime_" + request.from.id83 84    let now = Date.now()85    let last = Bot.getProperty(key, 0)86 87    if (now - last < 800) {88      return89    }90 91    Bot.setProperty(key, now, "integer")92 93    Bot.run({94      command: "/inline_query!",95      options: {96        request97      }98    })99  }100  return101}102 103if (104  request.chat.type === "private" &&105  request.from.id == Number(process.env.ADMIN_ID) &&106  request.reply_to_message &&107  (108    request.reply_to_message.forward_origin?.sender_user ||109    request.reply_to_message.forward_from110  )111) {112  let userId =113  request.reply_to_message.forward_origin?.sender_user?.id ||114  request.reply_to_message.forward_from?.id;115 116if (!userId) {117  return Bot.sendMessage("Forwarded user not found.");118}119 120let mmsgId = Bot.getProperty(userId + "_lastmsgid");121 122let r = await Api.copyMessage({123  chat_id: userId,124  from_chat_id: request.chat.id,125  message_id: request.message_id,126reply_parameters: {127    message_id: mmsgId128}129});130  131 return Bot.sendMessage(r.ok ? "done ✅" : "failed 😐")132}133 134if (Bot.getProperty("fdm_" + request.chat.id, false)) {135  Api.forwardMessage({136    chat_id: adminId,137    from_chat_id: request.chat.id,138    message_id: request.message_id139  });140  let msg_id = Bot.getProperty("sfbmi_" + request.chat.id)141 142//   Bot.runCommand("/delete_msg " + request.message_id)143 144  Api.editMessageText({145    chat_id: request.chat.id,146    message_id: msg_id,147    text: "<b>𝙵𝚎𝚎𝚍𝚋𝚊𝚌𝚔 𝚂𝚎𝚗𝚍𝚎𝚍 ✅</b>",148    parse_mode: "HTML"149  });150Bot.setProperty(request.chat.id + "_lastmsgid", request.message_id, "integer");151  Bot.setProperty("fdm_" + request.chat.id, false, "boolean");152  User.setProperty("feedback_asked", true, "boolean");153  return;154}155 156if (157  (request.chat.type === "private" && request.text) ||158  (159    (request.chat.type === "group" ||160      request.chat.type === "supergroup") &&161    request.text &&162    (163      (request.reply_to_message &&164        request.reply_to_message.from.id == bot.bot_id) ||165      request.entities?.some(e => e.type === "mention")166    )167  )168) {169  if (request.text.includes("https://")) return;170  let last = User.getProperty("last_request") || 0;171 172  if (Date.now() - last < 2000) {173    Api.sendMessage({174      text: "⚠️ Please don't spam. Try again in a few seconds."175    });176    return;177  }178 179  User.setProperty("last_request", Date.now(), "number");180 181  Api.sendChatAction({182    chat_id: request.chat.id,183    action: "upload_photo"184  });185 186  Bot.run({187    command: "/search",188    options: {189      query: request.entities?.some(e => e.type === "mention") ?190        (request.text || "").replace(bot.first_name || "@ImglyBot", "").trim() : (request.text || ""),191      type: "normal"192    }193  });194}