【问题标题】:Suggestion message not working. Does not seem to find the message建议消息不起作用。好像没找到消息
【发布时间】:2021-03-22 09:40:05
【问题描述】:

我一直在尝试在我的 discord 上创建一个频道,以便一旦有人发送消息,它就会将其删除,然后发送包含该信息的嵌入。但它不起作用,它应该是这样的:

但它看起来像这样:

这是我的index.js

client.on('message', message => {
  if (message.channel.id !== "823027303129808896") return;
  let content = message.content;
  const delMSG = message;
  
  
  const Embed = new Discord.MessageEmbed()
  .setAuthor(message.author.tag, message.author.displayAvatarURL())
  .setTitle("Nouvelle suggestion!")
  .setDescription("**Suggestion:**\n" + content)
  .setColor("#00ff44")
  .setFooter("Eclezia", "https://i.imgur.com/GhHHBgn.png")
  .setTimestamp();
  message.guild.channels.cache.get("823027303129808896").send(Embed).then((m) => {
    m.react("<:yes:821050283734859816>")
    m.react("<:no:821050300730572802>")
  })
  delMSG.delete();
})

这是我得到的错误:

      throw new DiscordAPIError(request.path, data, request.method, res.status);
            ^

DiscordAPIError: Unknown Message
    at RequestHandler.execute (D:\EcleziaBot\node_modules\discord.js\src\rest\RequestHandler.js:154:13)
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
    at async RequestHandler.push (D:\EcleziaBot\node_modules\discord.js\src\rest\RequestHandler.js:39:14) {
  method: 'put',
  path: '/channels/823027303129808896/messages/823046250542399539/reactions/yes%3A821050283734859816/@me',
  code: 10008,
  httpStatus: 404
}

编辑:查看标记的答案。

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    有几件事:

    • 如果邮件的作者是使用 if (message.author.bot) return; 的机器人,请确保您正在返回(我认为这是您的主要问题)
    • 您无需创建新变量 contentdelMSG,因为 message 在您的最后一行代码之前都可用
    • 如果您在同一频道中发送,则无需获取该频道。您可以使用 message.channel 而不是 message.guild.channels.cache.get("823027303129808896")
    • 我会将message.delete() 移动到.then()

    这里是完整的代码:

    client.on('message', (message) => {
      const channelID = '823027303129808896';
    
      if (message.author.bot) return;
      if (message.channel.id !== channelID) return;
    
      const embed = new Discord.MessageEmbed()
        .setAuthor(message.author.tag, message.author.displayAvatarURL())
        .setTitle('Nouvelle suggestion!')
        .setDescription('**Suggestion:**\n' + message.content)
        .setColor('#00ff44')
        .setFooter('Eclezia', 'https://i.imgur.com/GhHHBgn.png')
        .setTimestamp();
    
      message.channel
        .send(embed)
        .then((msg) => {
          message.delete();
    
          msg.react('<:yes:821050283734859816>');
          msg.react('<:no:821050300730572802>');
        })
        .catch(console.log);
    });
    

    【讨论】:

    • 我仍然得到同样的错误,嵌入闪烁然后它看起来像share.zariaa.tk/s/8GVfXSJwcj.png
    • 你复制粘贴了我发布的整个代码吗?
    • 我猜我不应该这样做..?
    • 不,通过复制粘贴应该可以正常工作。我收到错误的唯一一次是当我删除 if (message.author.bot) 部分时。
    • 我需要将 message.author.bot 与频道的东西分开
    猜你喜欢
    • 2021-09-21
    • 2016-03-11
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多