【问题标题】:Discord.js - Bot repeats the same message edited/deleted log repeatedlyDiscord.js - 机器人重复相同的消息编辑/删除日志重复
【发布时间】:2021-06-01 05:41:45
【问题描述】:

我正在尝试为我的 discord 机器人创建一个消息记录器,用于记录编辑和删除的消息。但是,日志工作一次,然后停止工作。在它记录一条消息之后会发生什么,第二次它会记录 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.js discord.js


    【解决方案1】:

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

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

    【讨论】:

    • 好的,它起作用了......有点。现在它发送一次日志,然后终止脚本并显示以下错误:RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values may not be empty. 我以前遇到过这个错误并且无法找到解决方案。也许你知道?
    • 在错误开始发生之前您添加了什么代码?
    • 这就是现在的样子:(检查上面更新的代码)
    猜你喜欢
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 2018-04-29
    • 2021-08-06
    • 2021-11-10
    • 1970-01-01
    相关资源
    最近更新 更多