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
27 commands3 envUpdated 2d agoCreated Jul 2, 2026
commands/_.js
javascript · 194 lines
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}