Discord.js-如何移动对嵌入有反应的用户?

时间:2020-07-05 22:39:50

标签: discord.js

我是Discord js的新手,我正在尝试让我的机器人移动对嵌入特定语音通道做出反应的所有用户。当前,无论谁编写消息,都将其转移到指定的语音通道。我尝试了user.id,guild.member等的许多组合。在.setVoiceChannel之前放置什么?我对哪个message.member不同于编写该消息的人感到困惑。谢谢!

collector.on('collect', (reaction, user) => {
  if (reaction.emoji.name == reactionControls.VOID) {
     const channel = message.guild.channels.find('name', 'Void 1');
     message.member.setVoiceChannel(channel);
  }
});

1 个答案:

答案 0 :(得分:0)

message.member确实是指执行命令的用户,如果您希望响应的成员必须使用user来转换<GuildMember>.fetchMember,那么现在唯一的问题是收集事件未提供v11.5.1中的user参数,因此您只需要使用collector.users.last()来获取最后一个反应堆

collector.on('collect', async (reaction) => {
  if (reaction.emoji.name == reactionControls.VOID) {
     const channel = message.guild.channels.find('name', 'Void 1');
     const user = collector.users.last();
     const member = await message.guild.fetchMember(user);
     member.setVoiceChannel(channel);
  }
});