我希望我的机器人加入会员所在的频道。我尝试了一些代码,但都没有奏效。
bot.on('voiceStateUpdate', (oldMember, newMember) => {
if (newMember.tag = "Dummy#0001") {
newMember.voice.join();
}
});
答案 0 :(得分:0)
discord.js v12 中的 voiceStateUpdate
事件发出 oldState
和 newState
代表成员的 VoiceState
而不是成员本身。由于 VoiceState
没有 tag
属性,您的 if 语句将不起作用(也是因为单个 =
)。
一个 VoiceState
有一个 member
属性,它是这个语音状态所属的成员。您可以获取成员的 user
属性的 tag
。 VoiceState
也有一个 channel
属性,它是成员连接到的 VoiceChannel
。语音频道有一个 join()
方法可用于加入频道。
以下应该按预期工作:
bot.on('voiceStateUpdate', (oldState, newState) => {
if (newState.member.user.tag !== 'Dummy#0001') return;
if (!newState.channel) return;
newState.channel
.join()
.then((connection) => console.log('Connected!'))
.catch(console.error);
});