首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Discord.js voteskip系统音乐机器人

Discord.js voteskip系统音乐机器人
EN

Stack Overflow用户
提问于 2022-02-19 14:36:03
回答 1查看 165关注 0票数 0

我正在为我的音乐机器人做一个投票系统,它有两个问题。

问题

  • 同一个人可以再次投票

  • ,即使达到了所需票数,这首歌也不会跳过这里的代码

否则,如果(cmd ===“跳过”){ let queue = distube.getQueue(message.guild.id);let channel = message.member.voice.channel;if (!channel) {返回message.channel.send(“您需要加入语音频道”)} if (!queue) {返回message.channel.send( "Nothing Playing“)}} if (queue.songs.length < 1){返回message.channel.send(”不再有音轨了“)。添加一些“)} channel = message.member.voice.channel if (!message.channel.send){message.channel.send(”您必须在语音频道中才能跳过这首歌“)} var required =voteskips.includes if (voteskips.includes(message.member.id)){ message.channel.send(”您已经投票支持跳过这首歌“)} voteskips.push(message.member )。( id) message.channel.send(\*\*Votes : ${voteskips.length}/${channel.members.size}\*\* ${required - voteskips.length} more votes needed to skip) if (voteskips.length >= required){ if (voteskips.length>=> 1) distube.skip(message) embeds distube.stop(message) message.channel.send({embeds: new Discord.MessageEmbed() .setTitle(“跳过当前轨道”) .setColor("LIGHT_GREY") } } }

EN

回答 1

Stack Overflow用户

发布于 2022-02-20 03:49:38

我犯了一个粗心的错误。首先,需要的变量应该是

代码语言:javascript
复制
     var required = Math.ceil(message.member.voice.channel.members.size/2);

下一个是我应该把作者id推到数组中。而不仅仅是message.member.id。这是更新的代码。

代码语言:javascript
复制
       else if (cmd === "skip") {
  let queue = distube.getQueue(message.guild.id);
  let channel = message.member.voice.channel;
  let members = Math.ceil(message.member.voice.channel.members.size/2)
  if (!channel) {
    return message.channel.send( "You need to Join Voice Channel" )
  }
  if (!queue) {
    return message.channel.send( "Nothing Playing" )
  }
  
  if (queue.songs.length < 1){
    return message.channel.send("There are no more tracks left. Add some")
  }
  
 
 if (voteskips.find(id=>id == message.author.id)){
   message.channel.send("You have already voted")
 }else {
   voteskips.push(message.author.id)
   message.channel.send(`Votes ${voteskips.length}/${members}. ${members - voteskips.length} more votes to skip.`)
 }
 if (voteskips.length === members){
   if (queue.autoplay || queue.songs.length > 1){
     distube.skip(message)
   }else distube.stop(message)
 }



    
   
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71185958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档