我正在尝试为人们进行语音聊天的时间制作排行榜,但是当人们离开服务器并仍在数据库中时,它会导致类型错误,因为它无法在服务器中读取该用户的 ID,所以我尝试了< /p>
if (!client.guilds.cache.get(serverid).members.cache.get(user)){
continue
}
跳过不在服务器中的人,但这会导致另一个类型错误:TypeError: Cannot read property '281377425215062016' of undefined
,我不知道如何解决这个问题,任何帮助将不胜感激。
for (const user in VoiceDatabase[serverid]){
if (!client.guilds.cache.get(serverid).members.cache.get(user)){continue}
if (user == "Servername"){continue}
templeaderboard.push(VoiceDatabase[serverid][user].TotalXP)
答案 0 :(得分:0)
使用 guildMemberRemove
获取用户何时离开服务器
client.on('guildMemberRemove', async member => {
});
例如在离开console.log时获取成员 -> 读取用户离开时的用户名
client.on('guildMemberRemove', async member => {
console.log(member.user.username)
});