Discord.JS具有从文本通道中获取所有messages的属性。
在评估代码的通道中,我有100条消息。当我运行命令&来缩短控制台时,我做message.channel.messages.forEach(m => console.log(m.content)}
的内容是一个字符串,我只得到3个内容。我假设这是由于缓存问题或相关问题而发生的,但是如何获取所有100/100消息而不是3/100消息?
要想进一步了解我要达到的目标,我正在尝试获取消息在频道中的位置,因为消息的属性不存在。
答案 0 :(得分:0)
您需要使用Channel#fetchMessages()
。
let channel = message.guild.channels.get('channel_id');
channel.messages.size; // 3
channel.fetchMessages({ limit: 90 }).then((fetchedChannel) => {
console.log(fetchedChannel.messages.size); // 90
});
这里您具有该功能的完整文档:https://discord.js.org/#/docs/main/stable/class/TextChannel?scrollTo=fetchMessages