Discord.js v12角色查询



我正试图开发一个discord机器人,但遇到了一些问题。

我的机器人程序的目的是向文本频道"发送消息;YYYY";当我的服务器上的工作人员加入名为";XXXXXX";

我的代码块:


client.on('voiceStateUpdate', (oldMember, newMember) => {
let newUserChannel = newMember.channelID;
let oldUserChannel = oldMember.channelID;
if(newUserChannel === "838819904798457928" && newMember.roles.cache.has === "839532611948511272")
{ 
console.log(" example entered "+newUserChannel);
}
else{
console.log("Left the channel");
}
});

我的错误代码:

if(newUserChannel === "838819904798457928" && newMember.roles.cache.has === "839532611948511272")
^
TypeError: Cannot read property 'cache' of undefined
Press any key to continue . . .

voiceStateUpdate事件不返回GuildMember,而是返回VoiceState。

因此,为了获得成员角色,您必须首先从VoiceState 获得成员

client.on('voiceStateUpdate', (oldState, newState) => {
console.log(newState.member.roles.cache);
});

最新更新