goat
command
sanda
Expose someone as sanda
0
views
0
likes
0
installs
raw source
const fs = require("fs-extra");
const path = require("path");
const axios = require("axios");
const { createCanvas, loadImage } = require("canvas");
module.exports = {
config: {
name: "sanda",
version: "2.0.1",
author: "Hridoy", //author cng korle Tor ma re cdmu raja condom lagai 🐍
countDown: 5,
role: 0,
shortDescription: "Expose someone as sanda",
category: "Tag Fun",
guide: {
en: "{pn} @mention or reply"
}
},
onStart: async function ({ event, message, api }) {
let targetID;
// Mention system
if (event.mentions && Object.keys(event.mentions).length > 0) {
targetID = Object.keys(event.mentions)[0];
}
// Reply system
if (event.type === "message_reply" && event.messageReply) {
targetID = event.messageReply.senderID;
}
if (!targetID) {
return message.reply("❗ Tag or reply to someone!");
}
if (targetID === event.senderID) {
return message.reply("❗ নিজেকেই sanda বানাবি? 😂");
}
const baseFolder = path.join(__dirname, "NAFIJ");
if (!fs.existsSync(baseFolder)) fs.mkdirSync(baseFolder);
const outputPath = path.join(baseFolder, `sanda_${targetID}.png`);
try {
// background + avatar
const bgUrl =
"https://raw.githubusercontent.com/alkama844/res/refs/heads/main/image/sanda.jpg";
const avatarUrl = `https://graph.facebook.com/${targetID}/picture?width=512&height=512&access_token=6628568379%7Cc1e620fa708a1d5696fb991c1bde5662`;
const [bgBuffer, avatarBuffer] = await Promise.all([
axios.get(bgUrl, { responseType: "arraybuffer" }).then(r => r.data),
axios.get(avatarUrl, { responseType: "arraybuffer" }).then(r => r.data)
]);
const bg = await loadImage(bgBuffer);
const avatar = await loadImage(avatarBuffer);
const canvas = createCanvas(600, 800);
const ctx = canvas.getContext("2d");
// background
ctx.drawImage(bg, 0, 0, 600, 800);
// avatar circle
const size = 140;
const x = 230;
const y = 60;
ctx.save();
ctx.beginPath();
ctx.arc(x + size / 2, y + size / 2, size / 2, 0, Math.PI * 2);
ctx.closePath();
ctx.clip();
ctx.drawImage(avatar, x, y, size, size);
ctx.restore();
const buffer = canvas.toBuffer("image/png");
fs.writeFileSync(outputPath, buffer);
const userInfo = await api.getUserInfo(targetID);
const name = userInfo[targetID]?.name || "User";
return message.reply(
{
body: `🤣 ${name} এখন official Sanda! 🦥`,
attachment: fs.createReadStream(outputPath)
},
() => {
if (fs.existsSync(outputPath)) fs.unlinkSync(outputPath);
}
);
} catch (err) {
console.error("Sanda Error:", err);
return message.reply("❌ Image generate failed. আবার try করো।");
}
}
};