我一直在四处寻找解释,甚至没有阅读discord.js文档。有人知道如何对discord.js中特定用户ID的消息做出反应吗?
答案 0 :(得分:1)
您可以通过MessageManager.cache
来获取任何消息,如果未缓存消息,则可以使用MessageManager.fetch()
。由于您只能提取频道中的最后100条消息,因此提取消息的限制更大。
从那里,您可以通过查看其find
属性来filter
/ author
想要的消息。
// <channel> is a placeholder for the channel object you'd like to search
// get every cached message by a user in one channel
<channel>.messages.cache.filter(({ author }) => author.id === 'ID Here')
<channel>.messages.fetch({ limit: 100 }).then((messages) => {
// same thing, but with uncached messages
messages.filter(({ author }) => author.id === 'ID Here');
每个GuildMember
都有一个lastMessage
属性,如果可以方便的话。
// <guild> is a placeholder for the guild object you'd like to search
// get the user's last message
guild.member('ID Here').lastMessage;