Discord.js从用户名获取公会成员

时间:2020-04-19 22:07:51

标签: discord.js

希望您能帮我解决这个特定用例的问题。

当用户加入我的服务器时,我想显示欢迎嵌入并更新他们在服务器中的昵称。

我的嵌入位工作正常,但似乎无法使用提供的用户获取guildMember。

代码:Discord.js v12.2

bot.on('guildMemberAdd', member=> {
const channel = member.guild.channels.cache.find(channel => channel.name === 'cloudservertesting');
if(!channel) return;

const embed = new Discord.MessageEmbed()
    .setColor('#992D22')
    .setTitle('New Member')
    .setDescription(`**${member.user.username}** has joined Red Wine Gaming!, Welcome!`)
        .setThumbnail(`${member.user.displayAvatarURL()}`)
    .setTimestamp();
channel.send(embed);
//Change users Nickname Here

});

member.guild.members返回一个对象,但它不会让我.filter

如果可以从用户添加的mumer.user中获取公会成员,这样我可以setNickname。

1 个答案:

答案 0 :(得分:0)

您要查找的GuildMember实例是参数member。查看Client#guildMemberAdd事件的文档,您会看到参数是GuildMember。

member.setNickname('foo')
  .catch(console.error);

member.guild.members返回一个对象,但它不会让我.filter

那是因为从v12开始,它是一个Manager,因此您必须利用cache属性来使用Collection#filter()。具体请参见GuildMemberManager