Discord.js:从所有渠道获取消息

时间:2020-06-12 16:22:20

标签: javascript discord.js

grep可以很好地从运行命令的通道中获取消息,但是我需要能够从服务器中的任何通道中获取消息。作为参考,我正在命令通过消息ID引用消息,但是到目前为止,它只能引用命令运行所在通道的消息。

2 个答案:

答案 0 :(得分:2)

let found;

message.guild.channels.cache.each(channel => {
   if(found) return;
   found = await channel.messages.fetch("ID_HERE").catch(() => undefined);
});

答案 1 :(得分:0)

浏览每个频道并获取其中的消息。

message.guild.channels.cache.forEach(channel => {
  channel.messages.fetch().then(messages => {
    messages.forEach(msg => console.log(msg.content));
  });
});

此示例从服务器中的每个通道中获取尽可能多的消息,并记录每个消息的内容。您可以使用if语句检查邮件内容是否为要查找的指定引号。

MessageManager.fetch()