因此,我正在discord.js中编写一个机器人,并正在为新用户加入行会而实施欢迎的DM。然后,当我使用${member.tag}
时未定义返回时,我在做什么错。我已经尝试了10分钟,但又不想升级到我试图解决一个小时的问题
代码:
client.on('guildMemberAdd', member => {
member.send(`Hello, ${member.tag}`)
});
答案 0 :(得分:2)
GuildMember上没有tag
属性,因此您的代码预期返回undefined
。但是,它确实存在于User上,您可以通过GuildMember#user
从GuildMember获得。
member.user.tag
是您要寻找的。 p>
注意:超链接的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