Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

ServerInfo DiscordJS Issue

My issue here is when I execute the command the owner is only undefined instead of the actual owner of the server. How can I fix this issue?

module.exports.run = async (client, message, args) => {
    const { MessageEmbed } = require('discord.js');

    message.delete();
    const guild = message.guild;
    const Emojis = guild.emojis.cache.size || "No Emoji!";
    const Roles = guild.roles.cache.size || "No Roles!";
    const Members = guild.memberCount;
    const Humans = guild.members.cache.filter(member => !member.user.bot).size;
    const Bots = guild.members.cache.filter(member => member.user.bot).size;
    const owner = guild.owner.user.tag 

    const embed = new MessageEmbed()
      .setTitle(guild.name + " Information!")
      .setColor("2F3136")
      .setThumbnail(guild.iconURL())
      .addField(`Name`, `${guild.name}`, true)
      .addField(`Owner`, `${owner}`, true)
      .addField(`ID`, `${guild.id}`, true)
      .addField(`Roles Count`, `${Roles}`, true)
      .addField(`Emojis Count`, `${Emojis}`, true)
      .addField(`Members Count`, `${Members}`, true)
      .addField(`Humans Count`, `${Humans}`, true)
      .addField(`Bots Count`, `${Bots}`, true)
      .addField(`Server Created At`, guild.createdAt.toDateString())
      .setFooter(`Requested by ${message.author.username}`)
      .setTimestamp();

    message.channel.send({ embeds:  });
}

module.exports.config = {
    name: "serverinfo",
    aliases: [""]
}

>Solution :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

I’m pretty sure that there isn’t an owner property in a Guild. To get the owner you have two methods:

Method 1 is using the .fetchOwner() method of a Guild

const owner = message.guild.fetchOwner().user.tag

Method 2 is getting the owner id and then fetching the user from guild.members:

const owner = message.guild.members.cache.get(message.guild.ownerId)

You can choose which method is better for you

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading