【发布时间】:2020-10-02 12:20:07
【问题描述】:
message.channel.messages.fetch 可以很好地从运行命令的通道中获取消息,但我需要能够从服务器中的任何通道中获取消息。作为参考,我正在创建一个通过消息 ID 引用消息的命令,但目前它只能引用来自运行该命令的同一通道的消息。
【问题讨论】:
标签: javascript discord.js
message.channel.messages.fetch 可以很好地从运行命令的通道中获取消息,但我需要能够从服务器中的任何通道中获取消息。作为参考,我正在创建一个通过消息 ID 引用消息的命令,但目前它只能引用来自运行该命令的同一通道的消息。
【问题讨论】:
标签: javascript discord.js
遍历每个通道并在其中获取消息。
message.guild.channels.cache.forEach(channel => {
channel.messages.fetch().then(messages => {
messages.forEach(msg => console.log(msg.content));
});
});
此示例从服务器中的每个通道获取尽可能多的消息并记录每个通道的内容。您可以使用 if 语句来检查消息内容是否是要查找的指定引号。
【讨论】:
let found;
message.guild.channels.cache.each(channel => {
if(found) return;
found = await channel.messages.fetch("ID_HERE").catch(() => undefined);
});
【讨论】: