为什么我的不和谐机器人在欢迎新公会成员标签时返回“ undefined”

时间:2020-03-28 14:55:29

标签: javascript bots discord discord.js

因此,我正在discord.js中编写一个机器人,并正在为新用户加入行会而实施欢迎的DM。然后,当我使用${member.tag}时未定义返回时,我在做什么错。我已经尝试了10分钟,但又不想升级到我试图解决一个小时的问题

代码:

client.on('guildMemberAdd', member => {

    member.send(`Hello, ${member.tag}`)

});

2 个答案:

答案 0 :(得分:2)

GuildMember上没有tag属性,因此您的代码预期返回undefined。但是,它确实存在于User上,您可以通过GuildMember#user从GuildMember获得。

member.user.tag 是您要寻找的。


注意:超链接的Discord.js文档适用于最近发布的v12。如果您的Discord.js不是最新的,请切换到页面顶部的正确版本以获取准确的信息。

答案 1 :(得分:0)

我愿意去 member.displayName

这是我使用的示例

bot.on('guildMemberAdd', member => {

// ADD MEMBER ROLE ON JOIN, this is optional
member.addRole(member.guild.roles.find(role => role.name === "Member"))

const channel = member.guild.channels.find(ch => ch.name === '?arrivals')

const welcomeEmbed = new Discord.RichEmbed()
    .setTitle(`New member has arrived`)
    .setColor(0x8A3F3F)
    .setDescription(`Welcome to server, ${member.displayName}!`)

channel.send({ embed: welcomeEmbed })
})

因此,您可以摆脱 const频道,而将 channel.send 替换为 member.send