【问题标题】:Discord.js getting guildmember from usernameDiscord.js 从用户名获取公会成员
【发布时间】:2020-08-02 08:30:41
【问题描述】:

我希望你能帮助我似乎无法为这个特定的用例找到解决方案。

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

我的嵌入位工作正常,但我似乎无法使用提供的用户获取 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 中获取公会成员,那将是理想的,这样我就可以设置昵称。

【问题讨论】:

    标签: discord.js


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 2023-04-09
      • 2020-08-15
      • 2019-10-30
      • 2021-12-17
      相关资源
      最近更新 更多