我如何将每个人从某个角色转移到一个频道

How do I move everyone from a certain role into a channel

代码需要能够看到某个角色中的每个人,然后将他们都放在一个语音频道中。

const team1role = message.guild.roles.find("name", "Team 1");
const voice = args.join(" ");
const chan1 = message.guild.channels.find("name", "Team 1");
team1role.setVoiceChannel(chan1);

出现此错误:

TypeError: team1role.setVoiceChannel is not a function
    at pass.run (F:\Discord_Bot\expbotworking\Experiance\commands\move.js:17:17)
    at Client.bot.on (F:\Discord_Bot\expbotworking\Experiance\index.js:26:11)
    at Client.emit (events.js:197:13)
    at MessageCreateHandler.handle (F:\Discord_Bot\expbotworking\Experiance\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
    at WebSocketPacketManager.handle (F:\Discord_Bot\expbotworking\Experiance\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65)
    at WebSocketConnection.onPacket (F:\Discord_Bot\expbotworking\Experiance\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
    at WebSocketConnection.onMessage (F:\Discord_Bot\expbotworking\Experiance\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
    at WebSocket.onMessage (F:\Discord_Bot\expbotworking\Experiance\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:197:13)

问题是 team1role 是角色实例,而不是成员。您必须从所述角色中获取所有成员,并为他们每个人设置语音通道。

您可以在下面找到示例代码,试一试,告诉我它是怎么回事。

const team1role = message.guild.roles.find((role) => role.name === "Team 1");
const team1members = team1role.members;

const chan1 = message.guild.channels.find((channel) => channel.name === "Team 1")

team1members.forEach((member) => {
  member.setVoiceChannel(chan1);
});