Как вернуть пользователя в виде строки, используя его имя пользователя с помощью API Discord. js? - PullRequest
0 голосов
/ 26 апреля 2020

Поэтому я пытаюсь создать команду под названием "embed", в которой пользователь может ввести! Embed {имя другого пользователя}, чтобы получить код для вставки, содержащий информацию о упомянутых пользователях. Если они не упоминают пользователя, то канал, содержащий их информацию, будет отправлен на канал. Вот код, который у меня есть до сих пор:

case 'embed': // Code for embeds
  if(arg.length > 1) {
    let mentionedMember = message.mentions.members;
    const embedChoice = new Discord.RichEmbed() // Use RichEmbed for sending embeds, not MessageEmbed, which is for recieving embeds
      .setColor(0x8d1e1e) 
      .setTitle('User Information')
      .addField('Player Name', mentionedMember, true)
      .addField('Player Nickname', 
    Client.users.find(mentionedMember).nickname, true)
      .addField('Current Server', message.guild.name)
      .setThumbnail(Client.users.find(mentionedMember).avatarURL)
      .setFooter('Bot made by sultana');
    message.channel.send(embedChoice);
    } else {
      const embed = new Discord.RichEmbed() // Use RichEmbed for sending embeds, not MessageEmbed, which is for recieving embeds
      .setColor(0x8d1e1e) 
      .setTitle('User Information')
      .addField('Player Name', message.author.username, true)
      .addField('Player Nickname', message.member.nickname, true)
      .addField('Current Server', message.guild.name)
      .setThumbnail(message.author.avatarURL)
      .setFooter('Bot made by sultana');
    message.channel.send(embed);
  }
break;

Как бы я исправил этот код, чтобы каждое значение в строках .addField заменялось информацией упомянутых пользователей?

1 Ответ

0 голосов
/ 26 апреля 2020

msg.mentions.members - это коллекция, вы можете получить первого пользователя, указанного как msg.mentions.members.first(), это экземпляр GuildMember,

msg.member также экземпляр GuildMember,

хотя msg.author является User экземпляром,

преобразует GuildMember в User, <GuildMember>.user

https://discord.js.org/# / docs / main / stable / class / GuildMember

также, поскольку вы повторяете большую часть кода, я бы предложил использовать более условные операции, и, наконец, почему вы используете операторы switch?

...