代码
const id = "815280236974964817"
client.on("ready", async () => {
client.guilds.cache.get(id).invites.fetch().then(inv => {
newInv = inv
})
})
client.on("guildMemberAdd", async member =>{
if(member.guild.id !== id) return;
member.guild.invites.fetch().then(gInvites =>{
const invite = gInvites.find((inv) => newInv.get(inv.code).uses < inv.uses)
console.log(invite.inviter.tag)
})
})
错误
^
TypeError: Cannot read property 'inviter' of undefined
这在discord.js v12中运行良好我已经启用了所需的意图以及
此错误告诉您invite
未定义。
当find
函数在数组中找不到与测试函数匹配的元素时,它将返回undefined。
你需要通过做这样的事情来处理这种情况:
client.on("guildMemberAdd", async member =>{
if(member.guild.id !== id) return;
member.guild.invites.fetch().then(gInvites =>{
const invite = gInvites.find((inv) => newInv.get(inv.code).uses < inv.uses)
if (!invite) {
// invite does not exist
return;
} else {
// an invite matches the testing function
console.log(invite.inviter.tag)
}
})
})