我正在使用Discord.js在节点中编写一个Discord机器人,想知道是否仍然可以获取所有用户消息的数组或集合。香港专业教育学院试图浏览一些成员集合,似乎找不到任何东西。会很有帮助的,谢谢!
答案 0 :(得分:0)
我假设您正在使用Discord.js版本12.0.2。您可以使用一个函数来执行此操作,该函数需要参数guildID(行会的ID)和userID(您要从中获取所有消息的成员)
然后,您想在每个频道中获取尽可能多的消息。最多可以输入100个。
如果message#author.id等于userID参数,我们现在将过滤所有提取的消息。
无论您想做什么,都可以。 msgs是已过滤的消息。例如,您可以记录消息的所有内容以及它们到控制台的通道(即我所做的事情)
async function userMessages(guildID, userID){
client.guilds.cache.get(guildID).channels.cache.forEach(ch => {
if (ch.type === 'text'){
ch.messages.fetch({
limit: 100
}).then(messages => {
const msgs = messages.filter(m => m.author.id === userID)
msgs.forEach(m => {
console.log(`${m.content} - ${m.channel.name}`)
})
})
} else {
return;
}
})
}