首页 > 解决方案 > Discord.js - 机器人重复相同的消息编辑/删除日志重复

问题描述

我正在尝试为我的不和谐机器人创建一个消息记录器,用于记录编辑和删除的消息。但是,日志工作一次,然后停止工作。发生的情况是在它记录一条消息之后,第二次它会记录 2 条相同的消息,然后是 3 条,并最终用相同的消息向日志发送垃圾邮件。

这是我的代码:

client.on("messageUpdate", message => {
  var messages = [1] 
  if(messages.includes(message.id)){return;}
  channel = message.guild.channels.cache.get('channelID')
  const channel9 = client.channels.cache.find(channel => channel.id === '816339882233561129');
  const ediembed = new Discord.MessageEmbed()
    .setColor(1752220)
    .setTitle(":pencil: Message Edited")
    .addFields (
      {name: "__Channel:__", value: `<\#${message.channel.id}>`},
      {name: "__Message Author:__", value: `${message.author.tag} - <\@${message.author.id}>`},
      {name: "__Original Message:__", value: message.content}
        
      )
    .setTimestamp()
    .setThumbnail(message.author.avatarURL())
    .setFooter("DM reloaded#1269 with any inquiries regarding bot API")
  channel9.send(ediembed)
  }
)

标签: node.jsdiscord.js

解决方案


我以前也遇到过同样的问题。当它发送消息时,它会更新并重新读取消息并再次发送响应,我建议保留它已跟踪的消息 id 数组并检查消息 id 是否已经在数组中,然后返回如下: var messages = [] if(messages.includes(message.id)){return;}

如果这不起作用,我很抱歉,但我不知道该怎么办


推荐阅读