I have an avatar command in my discord bot. When the user uses h.avatar
, it outputs their avatar, which works fine. Whenever they try to use h.avatar @user
, nothing happens.
Here is my code:
} if (message.content.startsWith(config.prefix + "avatar")) {
if (!message.mentions.users.size) {
const avatarAuthor = new Discord.RichEmbed()
.setColor(0x333333)
.setAuthor(message.author.username)
.setImage(message.author.avatarURL)
message.channel.send(avatarAuthor);
let mention = message.mentions.members.first();
const avatarMention = new Discord.RichEmbed()
.setColor(0x333333)
.setAuthor(mention.user.username)
.setImage(mention.user.avatarURL)
message.channel.send(avatarMention);
You have a check
if (!message.mentions.users.size) {
which makes the command run only if you do not mention somebody. You either need to use anelse {
in your code or do:The
const user = message.mentions.users.first() || message.author;
tries to get the user that was mentioned but if it does not find anyone it will use the author's used.