'"Whois" Command DiscordJS
I need to fix my discord comand "Whois". Can someone help me fix my code? Message me on twt: KiseeIsHere (not really necessary I just need to expand my message because stackflow wants me to).
module.exports.run = async (client, message, args) => {
const { MessageEmbed } = require('discord.js');
let member = message.mentions.users.first() || message.guild.members.cache.get(args[0]) || message.author || message.member;
let avatar = member.displayAvatarURL({ size: 1024, dynamic: true });
const statuses = {
online: "Online",
dnd: "Dnd",
idle: "Idle",
offline: "Offline"
};
let itstatus = statuses;
const exampleEmbed = new MessageEmbed()
.setTitle(member.username + "'s Profile")
.setColor('#2f3136')
.setThumbnail(avatar)
.addField("User Tag", member.tag, true)
.addField("ID", `${member.id}`, true)
.addField("Status", itstatus[member.presence.status], true)
.addField(
`Roles Count`,
message.guild.members.cache.get(member.user.id).roles.cache.size ||
"No Roles!",
true
)
.addField(`Avatar Url`, `[Link](${avatar})`, true)
.setFooter(`Requested by ${message.author.username}`)
.setTimestamp();
message.channel.send({ embeds: [exampleEmbed] });
}
module.exports.config = {
name: "whois",
aliases: ['ui']
}
Solution 1:[1]
Made a couple of changes, mostly to grab user stuff in the event someone runs it to get info on a bot and cleaned up the code a bit. I have tested and works as expected
const {
MessageEmbed,
} = require('discord.js');
module.exports.run = async (client, message, args) => {
const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member;
const statuses = {
online: "Online",
dnd: "Dnd",
idle: "Idle",
offline: "Offline",
};
let status;
if (!member.presence) {
status = 'Unknown;'
} else {
status = statuses[member.presence.status]
}
const exampleEmbed = new MessageEmbed()
.setTitle(`${member.user.username}'s Profile`)
.setColor('#2f3136')
.setThumbnail(member.user.avatarURL({
size: 1024,
dynamic: true,
}))
.addFields({
name: "User Tag",
value: `${member.user.tag}`,
inline: true,
}, {
name: "ID",
value: `${member.id}`,
inline: true,
}, {
name: "Status",
value: `${status}`,
inline: true,
}, {
name: `Roles Count`,
value: `${message.guild.members.cache.get(member.user.id).roles.cache.size}` || "No Roles!",
inline: true,
}, {
name: `Avatar Url`,
value: `[Link](${member.user.avatarURL()})`,
inline: true,
})
.setFooter({
text: `Requested by ${message.author.username}`,
})
.setTimestamp();
message.channel.send({
embeds: [exampleEmbed],
});
};
module.exports.config = {
name: "whois",
aliases: ['ui'],
};
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |

