goat
command
kicked
Generate kicked image ๐ข
0
views
0
likes
0
installs
raw source
const fs = require("fs-extra");
const path = require("path");
const axios = require("axios");
module.exports = {
config: {
name: "kicked",
version: "2.0",
author: "Converted by ariyan",
countDown: 5,
role: 0,
shortDescription: "Generate kicked image ๐ข",
longDescription: "Tag or reply to someone to generate a kicked image",
category: "fun",
guide: "{pn} @tag or reply"
},
onStart: async function ({ event, message, usersData }) {
const { senderID, mentions, messageReply } = event;
const kickerID = senderID;
let kickedID = Object.keys(mentions || {})[0];
if (!kickedID && messageReply?.senderID) {
kickedID = messageReply.senderID;
}
if (!kickedID) {
return message.reply("๐ข | Please tag someone or reply to their message.");
}
try {
// Get names
const kickerName = await usersData.getName(kickerID).catch(() => "Someone");
const kickedName = await usersData.getName(kickedID).catch(() => "Someone");
// Get avatar URLs
const kickerAvatar = await usersData.getAvatarUrl(kickerID);
const kickedAvatar = await usersData.getAvatarUrl(kickedID);
// External API config
const configURL = "https://raw.githubusercontent.com/noobcore404/NC-STORE/main/NCApiUrl.json";
const rawRes = await axios.get(configURL);
const apiBase = rawRes.data.apiv1;
const apiURL = `${apiBase}/api/kicked?kicker=${encodeURIComponent(kickerAvatar)}&kicked=${encodeURIComponent(kickedAvatar)}`;
// Get image
const response = await axios.get(apiURL, { responseType: "arraybuffer" });
// Save temp file
const tmpDir = path.join(__dirname, "tmp");
await fs.ensureDir(tmpDir);
const filePath = path.join(tmpDir, `kicked_${kickerID}_${kickedID}.jpg`);
await fs.writeFile(filePath, response.data);
await message.reply({
body: `๐ข ${kickerName} just kicked ${kickedName}! ๐`,
attachment: fs.createReadStream(filePath)
});
// Auto delete
setTimeout(() => {
if (fs.existsSync(filePath)) fs.unlinkSync(filePath);
}, 5000);
} catch (err) {
console.error("Kicked command error:", err);
return message.reply("โ | Couldn't generate kicked image. Try again later.");
}
}
};