【问题标题】:通过 ID 获取消息:Discord.js
【发布时间】:2018-09-01 17:11:02
【问题描述】:

我正在为一个不和谐的机器人做一个报告系统,我希望玩家通过 id 报告特定的消息,以便版主可以决定它是否具有攻击性。我正在努力寻找一种从给定 ID 获取消息文本的方法。有没有办法做到这一点?

【问题讨论】:

    标签: bots discord discord.js messageid


    【解决方案1】:

    fetchMessage 从版本 12 开始不再存在于 Discord.js 中,但您可以使用 MessageManager 类的 fetch 方法,该方法来自 TextChannel 类的 messages 属性。

    msg.channel.messages.fetch("701574160211771462")
      .then(message => console.log(message.content))
      .catch(console.error);
    

    【讨论】:

      【解决方案2】:

      您可以通过 id 检索消息

      msg.channel.fetchMessage();
      

      文档是here。如果您希望能够通过 id 从任何通道检索消息,您可以遍历所有通道并捕获任何错误。

      【讨论】:

      • 有什么方法可以得到该消息的作者吗?有没有办法查看消息是否不存在/存在?
      • 好吧fetchMessage返回一个消息对象,所以你可以调用它的author属性。要检查消息是否存在,只需捕获潜在错误,如果发生错误,将运行。 Documentation is right here.
      猜你喜欢
      • 2013-04-02
      • 2021-07-16
      • 2021-06-21
      • 2021-05-01
      • 1970-01-01
      • 2020-05-04
      • 1970-01-01
      • 2021-05-26
      • 2021-12-13
      相关资源
      最近更新 更多