当前位置: 首页 > 知识库问答 >
问题:

此代码有问题。js中的Discord清除命令

寿浩言
2023-03-14

我一直在做一个不和谐机器人作为一个小实验(因为我对编码不熟悉)。原来我对这个代码有问题:

  // delete from 2-100.

  const deleteCount = parseInt(args[0], 10);

  if(!deleteCount){ 
    return message.reply("Un numero del 2-100"); //"a number from 2-100"
  }

  const fetched = await message.channel.fetchMessages({limit: deleteCount});
  message.channel.bulkDelete(fetched)
    .catch(error => message.reply(`Error: ${error}`)) }

这段代码确实有效:它清除了所说的消息量,并在仅当时发送“从2-100输入一个数字”消息!净化或者!明确给出。然而,消息...它也是在我输入命令时发送的!比方说,或者在机器人踢了某人并发送成功踢了用户消息之后。它甚至发送时!商店或!f是给定的(这不是它的任何代码的一部分)。

我如何才能让机器人发送“Un numero del 2-100”,只有在命令没有值的情况下才能发送?

共有1个答案

东郭兴学
2023-03-14

您应该使用if-语句来检查消息是否是命令,这样您就可以让这段代码仅在是命令的情况下执行。例如:if(msg.startswith(前缀清除)||msg.startswith(前缀清除') {}

从我看到的情况来看,所有这些代码都会被执行,而不管指定的命令是什么,这就是为什么不管调用的命令是什么,字符串都会被输出的原因。

 类似资料:
  • 问题内容: 为什么在下面的程序中不执行func3?在func1之后,不需要对func2进行评估,但是对于func3,不是吗? 问题答案: 您正在使用短路或。如果第一个参数为true,则整个表达式为true。 如果添加编译器使用的隐式括号可能会有所帮助 编辑 :正如Chris Jester-Young所说,这实际上是因为逻辑运算符必须从左到右的关联性: func1返回之后,它变为: 评估短路或后,它

  • 问题内容: 我认为解决此问题的最佳方法就是粘贴我的代码: 如果我先点击 编辑按钮 和比 确认编辑 ,我试图获得(作为结果)的页面标签 FINALLY我在这里 不幸的是,这并不发生。我单击“ 编辑”按钮 ,然后单击“ 确认编辑” ,则什么也没有发生。 我怎么了 干杯 用新版本更新 问题答案: 好吧,那变得复杂了。是否将调用该操作还取决于组件或其父项之一的属性的结果。由于Bean在请求范围内,因此默认

  • 本文向大家介绍C# 清除cookies的代码,包括了C# 清除cookies的代码的使用技巧和注意事项,需要的朋友参考一下 不同的浏览器会把cookie文件保存在不同的地方   以下是C# WebBrowser控件cookies的存放路径   C:\Users\{你的帐号名}\AppData\Local\Microsoft\Windows\INetCookies   cookies文件格式请查看相

  • 问题内容: 我今天只是在学习片段。我按下一个按钮,它添加/删除了一个片段。但是,如果我尝试删除该片段,那么除了要删除的片段之外,每个片段都会被删除,为什么?第一次按正确添加一个片段。 我在xml中有两个这样的片段:当我单击按钮时,我希望添加未在xml中定义的片段,而确实是。但是,下次我按下按钮时,应该删除该片段。除该片段外,所有内容均被删除。 问题答案: 您无法删除使用XML添加的。如果要通过该方

  • 我目前正在节点中创建一个discord bot。js,并不断得到这个问题。我正在尝试创建一个help命令,但我想在执行该命令之前确保嵌入和填充工作正常,我一直遇到这个奇怪的错误。我放了两个代码示例,一个是命令的代码,另一个是使命令实际工作的代码。有人能帮忙吗? } }); 下面是错误: RangeError[嵌入字段值]:消息嵌入字段值不能为空。在功能上。规范化字段(C:\Users\Chunko

  • 我在本地计算机上将一条太大的消息推送到Kafka消息主题中,现在我收到一个错误: 增加在这里并不理想,因为我实际上不想接受那么大的消息。