goat
command
spy
Get user
1
views
0
likes
1
installs
raw source
module.exports = {
config: {
name: "spy",
version: "1.0",
author: "AkHi",
countDown: 10,
role: 1,
shortDescription: "Get user's information and Fetch user's profile picture",
longDescription: "Get user information and Fetch user's profile picture by mentioning",
category: "image",
},
onStart: async function ({ event, message, usersData, api, args, getLang }) {
let avt;
const uid1 = event.senderID;
const uid2 = Object.keys(event.mentions)[0];
let uid;
if (args[0]) {
// Check if the argument is a numeric UID
if (/^\d+$/.test(args[0])) {
uid = args[0];
} else {
// Check if the argument is a profile link
const match = args[0].match(/profile\.php\?id=(\d+)/);
if (match) {
uid = match[1];
}
}
}
if (!uid) {
// If no UID was extracted from the argument, use the default logic
uid = event.type === "message_reply" ? event.messageReply.senderID : uid2 || uid1;
}
api.getUserInfo(uid, async (err, userInfo) => {
if (err) {
return message.reply("Failed to retrieve user information.");
}
const avatarUrl = await usersData.getAvatarUrl(uid);
// Gender mapping
let genderText;
switch (userInfo[uid].gender) {
case 1:
genderText = "Girl";
break;
case 2:
genderText = "Boy";
break;
default:
genderText = "Unknown";
}
// Construct and send the user's information with avatar
const userInformation = `❏ Name: ${userInfo[uid].name}\n❏ Profile URL: ${userInfo[uid].profileUrl}\n❏ Gender: ${genderText}\n❏ User Type: ${userInfo[uid].type}\n❏ Is Friend: ${userInfo[uid].isFriend ? "Yes" : "No"}\n❏ Is Birthday today: ${userInfo[uid].isBirthday ? "Yes" : "No"}`;
message.reply({
body: userInformation,
attachment: await global.utils.getStreamFromURL(avatarUrl)
});
});
}
};