使用!coins命令时,如何使机器人忽略给我硬币?

时间:2019-03-03 09:26:14

标签: javascript discord.js

因此,我正在使用硬币系统,但遇到了一个小问题。 通常,每次输入内容时,我都会得到1个硬币,但是当我使用!coins命令检查我拥有多少个硬币时,我不希望机器人给我硬币。 我希望它在使用此命令时忽略给我硬币。 那我应该添加什么?

这是我在index.js中的代码:

<div class="wrapper">
      <select name="" id="">
        <option value="">1</option>
        <option value="">2</option>
        <option value="">3</option>
      </select>
      <select name="" id="">
        <option value="">1</option>
        <option value="">2</option>
        <option value="">3</option>
      </select>
      <button>Validar</button>
    </div>

.wrapper {
    display: flex;
}

coins.js文件:

if (message.channel.id === "528734148718886922"){
 if(!coins[message.author.id]){
   coins[message.author.id] = {
     coins: 0
   };
 }

 let coinAmt = Math.floor(Math.random() * 1) + 1;
 let baseAmt = Math.floor(Math.random() * 1) + 1;
 console.log(`${coinAmt}; ${baseAmt}`);

 if(coinAmt === baseAmt){
   coins[message.author.id] = {
     coins: coins[message.author.id].coins + coinAmt
   };
   fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
     if (err) console.log(err)
   }); 

   let coinEmbed = new Discord.RichEmbed()
   .setAuthor(message.author.username)
   .setColor("#6666ff")
   .addField("", `You earned ${coinAmt} Scrap`)

   message.channel.send(coinEmbed).then(message => {message.delete(100000)});

   }
 }

2 个答案:

答案 0 :(得分:-1)

我想最简单的方法是将if (message.channel.id === "528734148718886922"){替换为:

if (message.channel.id === "528734148718886922" && message.content !== "!coin"){`

另一种方法(稍微复杂一点,但是允许您做更多的事情)是仅在未找到命令的情况下才提供硬币。 根据您构建机器人的方式的不同,您可能拥有if(cmd) {if(commandfile)或其他类似方式,然后可以将硬币代码放入else部分中,以便硬币仅在没有运行命令的情况下给出。

答案 1 :(得分:-1)

您可以运行硬币并给出代码LAST,然后再运行所有命令。 并且build-native-image.sh运行时。您可以跳过硬币代码。

!coins