Javascript 非bot成员联机时出错(presenceUpdate)
我正在尝试让我的机器人在机器人联机或脱机时发送此消息。它有时可以工作,但当人工成员联机时,我会遇到以下错误:Javascript 非bot成员联机时出错(presenceUpdate),javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我正在尝试让我的机器人在机器人联机或脱机时发送此消息。它有时可以工作,但当人工成员联机时,我会遇到以下错误:未捕获的异常类型错误:无法读取未定义的属性“user” 我的代码: client.on(“presenceUpdate”(旧状态、新状态)=>{ if(newPresence.user.bot){ client.channels.cache.get(“799082492065087498”).send(oldPresence.user.tag+”是“+newPresence.status
未捕获的异常类型错误:无法读取未定义的属性“user”
我的代码:
client.on(“presenceUpdate”(旧状态、新状态)=>{
if(newPresence.user.bot){
client.channels.cache.get(“799082492065087498”).send(oldPresence.user.tag+”是“+newPresence.status);
};
});代码>如果我们假设此代码是服务器端的:
你肯定没有在客户端发送newPresence,因为你收到了这个错误。
因此,您可以在newPresence.user之前检查newPresence。
像这样:
client.on("presenceUpdate",(oldPresence,newPresence)=>{
if(newPresence && newPresence.user.bot){
client.channels.cache.get("799082492065087498").send(oldPresence.user.tag+" is "+newPresence.status);
};
});
请注意这是服务器端还是客户端?什么是oldPresence以及何时设置?客户端api,oldPresence是用户在线时newPresence之后的presence oldPresence离线,newPresence在线。当用户离线时,oldPresence是在线的。这仍然不是完全正确的-它将解决OP的问题,但根本不应该使用oldPresence
,因为newPresence
是更新后的obj-也就是说,新的presence,user#标记
通常不会改变-它只是更可靠而已