1 回答
TA贡献1828条经验 获得超3个赞
该voiceStateUpdate事件实际上返回oldState,并且newState在最新版本的discord.js(source)中,它们都是VoiceState对象,而不是GuildMember对象。
因此,您必须更改代码才能使用VoiceState。这非常简单,因为您可以通过获取属性来GuildMember从 a获取对象。VoiceState.member
另一件事是,newState有时可能是因为当有人离开语音频道undefined时该事件也会触发。这意味着您还必须检查该值是否未定义。
如果您要实现所有这些更改,它将如下所示:
client.on("voiceStateUpdate", function(oldState, newState) {
if (newState === undefined) {
return;
}
let room = client.channels.cache.get('586962325240676370');
let voiceChannelID = newState.channelID;
if (voiceChannelID === room) {
let channelgit = client.channels.cache.get('757403475129794600');
newState.setChannel(channelgit);
}
});
添加回答
举报