1 回答

TA貢獻1828條經驗 獲得超3個贊
該voiceStateUpdate事件實際上返回oldState,并且newState在最新版本的discord.js(source)中,它們都是VoiceState對象,而不是GuildMember對象。
因此,您必須更改代碼才能使用VoiceState。這非常簡單,因為您可以通過獲取屬性來GuildMember從 a獲取對象。VoiceState.member
另一件事是,newState有時可能是因為當有人離開語音頻道undefined時該事件也會觸發(fā)。這意味著您還必須檢查該值是否未定義。
如果您要實現(xiàn)所有這些更改,它將如下所示:
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);
}
});
添加回答
舉報