javascript 如何向我的机器人添加停止进程命令,以结束正在进行的命令?(discord.js)

juud5qan  于 2023-03-28  发布在  Java
关注(0)|答案(1)|浏览(94)

我想给我的Discord机器人添加一个笑话命令,比如bt!donotusethis,它会用命令本身来回答,从而产生无限的垃圾邮件链。
显然,这需要一个命令来停止它。我想添加一个命令,如bt!stop,这将结束垃圾邮件。
有没有办法把这个加进去?
我试着用这个:

client.on("messageCreate", (message) => {
     if (message.content.startsWith("bt!donotusethis")) {
       message.channel.send("bt!donotusethis");
     }
   });

   client.on("messageCreate", (message) => {
     if (message.content.startsWith("bt!stop")) {
       //this is where the end process command goes
     }
   });

我添加了client.process.end来代替//this is where the end process command goes,它确实阻止了垃圾邮件,但也使机器人本身崩溃。

flseospp

flseospp1#

client.process.end不是Discord.js的函数,这就是机器人崩溃的原因。如果你想停止机器人,你可以添加一个垃圾邮件变量,数据为“false”。当命令运行时,你可以将其设置为true,当另一个命令运行时,你可以将其设置为false。还可以删除多个messageCreate事件
下面是一个代码示例:

let spamming = false;

client.on("messageCreate", (message) => {
  if (message.content.startsWith("bt!donotusethis")) {
    if (!spamming) {
      spamming = true;
      message.channel.send("bt!donotusethis");
    } else {
      message.channel.send("bt!donotusethis");
    }
  } else if (message.content.startsWith("bt!stop")) {
    spamming = false;
  }
});

相关问题