const axios = require("axios"); module.exports = { config: { name: "lens", aliases: ["ocr"], version: "1.0", author: "xalman", countDown: 5, role: 0, shortDescription: "Extract text from images (Google Lens)", category: "tools", guide: "{pn} [reply to image]" }, onStart: async function ({ api, event, args }) { const { threadID, messageID, type, messageReply } = event; const API_URL = "https://xalman-apis.vercel.app/api/lens"; let imageUrl; if (type === "message_reply" && messageReply.attachments[0]?.type === "photo") { imageUrl = messageReply.attachments[0].url; } else { return api.sendMessage("ā•­ā”€ā\n│ š–Æš—…š–¾š–ŗš—Œš–¾ š—‹š–¾š—‰š—…š—’ š—š—ˆ š–ŗš—‡ š—‚š—†š–ŗš—€š–¾!\nā•°ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€āŸ”", threadID, messageID); } const lang = args[0] || "eng"; api.setMessageReaction("šŸ”", messageID, () => {}, true); try { const res = await axios.get(`${API_URL}?url=${encodeURIComponent(imageUrl)}&lang=${lang}`); if (res.data.status === true) { const extractedText = res.data.text; api.setMessageReaction("āœ…", messageID, () => {}, true); return api.sendMessage( ` š—Ÿš—˜š—”š—¦ š—¢š—–š—„\n━━━━━━━━━━━━━━━━━━\n${extractedText}\nš—Ÿš—®š—»š—“: ${lang.toUpperCase()}`, threadID, messageID ); } else { throw new Error("No text found"); } } catch (error) { api.setMessageReaction("āŒ", messageID, () => {}, true); return api.sendMessage("āœ• Failed to extract text from image!", threadID, messageID); } } };