Javascript 应该删除作者的命令';调用命令后的消息,而不是垃圾邮件聊天[discord.js]

Javascript 应该删除作者的命令';调用命令后的消息,而不是垃圾邮件聊天[discord.js],javascript,discord,discord.js,Javascript,Discord,Discord.js,我试图发出一个命令,它应该说些什么,但随后删除作者的消息,但它会用输出垃圾邮件聊天,而不会删除消息 这是我当前的代码: client.on('message', message => { if (message.content === "##@square") message.delete(100); message.channel.send("Gaming"); }); 这是我得到的输出:您没有检查发布消息的用户是否是bo

我试图发出一个命令,它应该说些什么,但随后删除作者的消息,但它会用输出垃圾邮件聊天,而不会删除消息

这是我当前的代码:

client.on('message', message => {
if (message.content === "##@square")
      message.delete(100);
      message.channel.send("Gaming");
});

这是我得到的输出:

您没有检查发布消息的用户是否是bot,因此当bot发布“游戏”时,会针对该消息触发消息事件,从而创建一个循环

可以通过忽略所有机器人程序(推荐和:

client.on('message',message=>{
if(message.author.bot)return;//如果作者是bot,则返回。
如果(message.content==“##@square”)message.delete(100);
message.channel.send(“游戏”);
});
…或者只忽略你的机器人:

client.on('message',message=>{
if(message.author.id==client.user.id)return;//如果作者的id与bot的相同,则返回。
如果(message.content==“##@square”)message.delete(100);
message.channel.send(“游戏”);
});
尽管如此,您的
if
语句似乎确实弄糟了:您当前的代码在每次发送消息时都会发送“游戏”,无论消息的内容如何。若要解决此问题,请将要运行的代码放在花括号中:

client.on('message',message=>{
if(message.author.bot)return;//如果作者是bot,则返回。
if(message.content==“##@square”){
删除(100);
message.channel.send(“游戏”);
}
});
有关JavaScript
if
语句的更多信息,请参阅