Discord.js 如何按内容获取消息

时间:2021-06-25 07:07:20

标签: javascript discord discord.js

我试图编写一个代码来获取消息并用内容过滤它们,但它不起作用。我试试这个代码:

client.on('message', message => {
    if(message.content.startsWith('f-')){
        var wf = message.content.substring(2);
        message.channel.send(`message id: ${message.channel.messages.fetch().filter(mc => mc.startsWith(wf))}`);
    }
}); 

但是它给出了那个错误:message.channel.messages.fetch(...).filter is not a function 所以我想问有没有办法通过 id 获取消息

1 个答案:

答案 0 :(得分:0)

message.channel.messages.fetch() 返回一个 Promise,如果你想得到结果,你有 await 它。获取所有消息后,您可以继续按 msg.content 过滤它们。

以下代码为您提供了所有以“f-”开头的消息:

client.on("message", async (message) => {
  if (message.content.startsWith("f-")) {
    var wf = message.content.substring(2);

    const messages = await message.channel.messages.fetch();
    let filtered = messages.filter((msg) => msg.content.startsWith(wf));
    console.log(filtered);
  }
});