goat
command
leave
No description
0
views
0
likes
0
installs
raw source
const axios = require("axios");
const fs = require("fs-extra");
const path = require("path");
module.exports = {
config: {
name: "leave",
version: "2.0.0",
author: "Asif",
category: "events"
},
onStart: async ({ api, event }) => {
// শুধু member leave করলে কাজ করবে
if (event.logMessageType !== "log:unsubscribe") return;
const { threadID, logMessageData } = event;
// যে member leave করেছে তার ID
const leftUserID = logMessageData?.leftParticipantFbId;
if (!leftUserID) return;
let userName = "Unknown User";
// User name বের করা
try {
const info = await api.getUserInfo(leftUserID);
if (info && info[leftUserID] && info[leftUserID].name) {
userName = info[leftUserID].name;
}
} catch (error) {
console.log("Could not get user name:", error.message);
}
// Temporary image file
const imagePath = path.join(
__dirname,
"leave_photo.jpg"
);
// তোমার ImgBB image-এর direct URL
const imageUrl =
"https://i.ibb.co/SwBrgFgw/images-18.jpg";
const message = `
╭━━━〔 🚪 MEMBER LEFT 〕━━━╮
┃
┃ 👤 Name: ${userName}
┃ 🆔 ID: ${leftUserID}
┃
┃ 😢 ${userName} গ্রুপ থেকে চলে গেছে।
┃ 👋 ON LEAVE..
┃
╰━━━━━━━━━━━━━━━━━━━━╯
`;
try {
// প্রথমে leave message
await api.sendMessage(message, threadID);
// Image download
const response = await axios.get(imageUrl, {
responseType: "arraybuffer",
timeout: 20000
});
await fs.writeFile(imagePath, response.data);
// Image send
await api.sendMessage(
{
attachment: fs.createReadStream(imagePath)
},
threadID
);
// Temporary file delete
await fs.remove(imagePath);
} catch (error) {
console.error("Leave event error:", error);
// কোনো error হলে temporary file remove
try {
await fs.remove(imagePath);
} catch (_) {}
}
}
};