邀请日志记录 DiscordJS v13 类型错误:无法读取未定义的属性"邀请者"



代码

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)
}
}) 
})

最新更新