【问题标题】:How to move members from the voice you are connected in, to another voice channel如何将成员从您连接的语音移动到另一个语音频道
【发布时间】:2021-04-18 11:08:13
【问题描述】:

在输入命令movemepls 后(并且假设输入命令的人在语音频道中),它会将同一语音呼叫中的每个成员移动到不同的语音呼叫。到目前为止,我已经尝试使用各种代码,但我不确定如何返回给定 vc 中的每个成员(输入命令的人)

  1. 如何检查输入命令的人是否在语音通话中?

  2. 如何返回给定VC中的所有成员?

  3. 如何将所有成员批量移动到新的给定频道?

bot.on("message", msg => {
  if (msg.content === 'movemepls') {
    voice_channel = '768348175437922324'
    msg.member.voice.setChannel('insert channelID here')

    voice_channel.members.forEach(function (guildMember, guildMemberId) {
      console.log(guildMemberId, guildMember.user.username);
    })
  }
})

【问题讨论】:

标签: javascript node.js discord discord.js bots


【解决方案1】:

这是一个非常基本的示例,您可以将其扩展为您想要的任何内容:

bot.on("message", async message => {

   if(message.content.startsWith("movemepls") {
     let args = message.content.slice(9).trim().split(/ +/g);
     let voiceChannel = message.member.voice.channel;
     let moveTo = message.guild.channels.cache.filter(c => c.type === 'voice').find(c => c.name.toLowerCase() === args.slice(0).join(" ").toLowerCase());

     if(voiceChannel) {
       message.guild.members.cache.forEach(member => {
       if(!member.voice.channel) return;
       member.voice.setChannel(moveTo);
     })
   } else return;
  }
})

用法:

movemepls <channel name>

【讨论】:

  • 如果您想要更深入的解释,只需发表评论,然后我将编辑我的答案。
  • 很好!您能否编写另一个 sn-p 代码(使用相同的检查)将我所在的语音频道中的每个人(键入命令的人)移动到我指定的 vc 中?
  • 如果我理解正确,这正是它的作用。如果您键入 movemepls 当前 vc 中的每个人,而您将被移动到您通过在命令中键入它的名称来指定的 vc。
  • 你能用这个命令发布完整的代码吗?我也不确定如何启用参数
  • @Shreyas007 我没有测试它,但它应该可以工作。编辑了我的答案。
猜你喜欢
  • 2020-12-21
  • 2020-01-11
  • 2018-10-07
  • 1970-01-01
  • 2021-01-27
  • 2019-10-27
  • 1970-01-01
  • 2021-11-21
  • 2018-04-06
相关资源
最近更新 更多