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

不和谐的问题。js删除消息功能

赏逸春
2023-03-14

我有一些不和谐的问题。js删除函数。我使用这段代码在从频道中删除图像时从用户的余额中删除1点,这是第一次一切正常,但当我尝试删除我发送的另一个图像时,机器人将从我的余额中删除1点,而不是从我的余额中删除1点,因为从机器人启动开始,总共删除了多少图像。示例:我删除一个图像,机器人将从我的余额中删除1个点,然后如果我删除我上传的另一个图像,而不是删除1个点,它将从我的余额中删除2个点,因为它将计算删除的第一个图像和该点。如何修复它并仅对删除的一个图像作出响应?

js prettyprint-override">//(works) This is the function that make the bot read the message's attach
function attachIsImageJPG(messageAttach) {
  var url = messageAttach.url;
  //True if this url is a png image.
  return url.indexOf("jpg", url.length - "jpg".length /*or 3*/) !== -1;
}

//(works) There's the code that make the bot assign 1 point when the image is uploaded
  if (message.attachments.size > 0) {
    if (message.channel.id != '593093789971644417') return;
      if (message.attachments.every(attachIsImage)){
        eco.AddToBalance(message.author.id, 1)
        bot.channels.get("593093471175311438").send(itag + message.author.id + ftag + " **1** has been **added** to your `!balance` for sending the success the screenshot");
    }
}

//(problem) This is the part with the error
bot.on("messageDelete", async (messageDelete) => {
  if (messageDelete.channel.id === '593093789971644417') {

    function attachIsImageJPG(messageAttach) {
      var url = messageAttach.url;
      //True if this url is a png image.
      return url.indexOf("jpg", url.length - "jpg".length /*or 3*/) !== -1;
  }
  if (message.attachments.size > 0) {
    if (message.attachments.every(attachIsImageJPG)) {
      await eco.SubstractFromBalance(message.author.id, 1) // money.updateBal grabs the (userID, value) value being how much you want to add, and puts it into 'i'.
      return bot.channels.get("593093471175311438").send(itag + message.author.id + ftag + " **1** has been **removed** from your `!balance` for deleting the screenshot");
} else return;
  } else return;
  } else return;
});

机器人应该只从用户的余额中删除1点。

共有1个答案

百里光熙
2023-03-14

我的问题是,我有MessageDelete事件在消息事件内。attachIsImage()应该在任何事件之外定义,然后在它们内部调用。

 类似资料:
  • 我使用Python3.6idle编写了一个bot,我想添加一个命令,但我不知道如何添加它。你们中的一些人能帮我举一些例子或建议吗?我会很高兴的,谢谢。

  • 我试图删除所有消息从一个渠道使用不和谐的机器人,但唯一的命令删除消息,我发现是 它一次只删除一条消息,我想清除所有可以使用的命令?

  • 我尝试了一个清除命令,它删除用户想要的不和谐频道中的消息量。然而,没有成功。 我希望机器人删除指定的消息量。然而,它没有回应。我已经使用了这种如果语句的方法来执行其他命令,比如检查你的ping,所以它很可能是删除消息的东西。

  • 我遇到一个问题,message.channel.send哪个消息没有定义。我尝试了很多方法,但我仍然很困惑。你能帮我一下吗?谢谢!

  • 几个月来,我一直在我的不和谐机器人中使用相同的反应角色代码,但是突然在过去的几天里,机器人不会给任何人任何角色。我不知道怎么了。我的机器人有权限,我不会返回任何类型的错误消息。这是我添加和删除角色的代码。 在这里定义。 这是我希望人们对这个角色做出反应的信息。

  • 我一直在四处寻找,似乎找不到我用Typescript制作的不和谐机器人的这个问题的答案。我的所有命令都放在它们自己的文件夹中,每个命令都有一个单独的文件。有助于保持井井有条。 我见过有人说 但这给了我并且 实际上,每当有人运行重启命令时,我会尝试在每个文本频道(从列表中给出)发送一条机器人消息,因为不管出于什么原因,人们总是重启机器人。我把它实现为一件有趣的事情,如果有人需要使用它,我会时不时地以