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

问题描述 投票:1回答:1

代码需要能够看到每个人都处于某个角色,然后将所有人都放在语音通道中。

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)
javascript discord.js
1个回答
1
投票

问题是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);
});
© www.soinside.com 2019 - 2024. All rights reserved.