我正在尝试使用频道ID将带标签的用户移至语音频道。我看到有人使用.setUserChannel,但它告诉我这不是一个函数。有人可以告诉我我需要解决的问题:)
if(command === 'ping'){
message.channel.send('pong');
} else if (command === 'abuse'){
//const AbuseTown = client.channel.cache.get(760535995329282161);
const taggedUser = message.mentions.users.first();
message.channel.send(`You want to abuse: ${taggedUser.username}`);
taggedUser.setVoiceChannel('776202269569712168');
return;
}
答案 0 :(得分:0)
首先,您需要GuildMember
对象,而不是User
对象。进一步了解差异here
// change:
const taggedUser = message.mentions.users.first();
// to:
const taggedUser = message.mentions.members.first();
第二,GuildMember.setVoiceChannel()
是一个过时的函数,因此如果您使用的是v12.x,它将无法正常工作。而是使用VoiceState.setChannel()
。
const taggedUser = message.mentions.members.first();
message.channel.send(`You want to abuse: ${taggedUser.username}`);
taggedUser.voice.setChannel('776202269569712168');