📅  最后修改于: 2023-12-03 15:36:19.485000             🧑  作者: Mango
在 Discord.js v12 中,要从特定的用户获取所有消息,可以使用 TextChannel
中的 messages.fetch()
方法。
const userId = '1234567890'; // 用户的 ID
const channel = client.channels.cache.get('CHANNEL_ID'); // 获取消息所在的频道
channel.messages.fetch({ limit: 100 }).then(messages => { // 一次最多获取 100 条消息
const userMessages = messages.filter(message => message.author.id === userId);
console.log(userMessages);
});
上面的代码首先获取了指定的频道,然后使用 messages.fetch()
方法获取频道中的最新 100 条消息(可以根据需要传递不同的参数),最后过滤出指定用户的消息并输出到控制台。
需要注意的是,messages.fetch()
方法返回的是一个 Promise,需要使用 then()
方法或 async/await
来处理。同时,如果要获取更多的消息,可以多次调用 messages.fetch()
方法,传递不同的参数。
# 从用户名 discordjs v12 获取所有消息 - Javascript
在 Discord.js v12 中,要从特定的用户获取所有消息,可以使用 `TextChannel` 中的 `messages.fetch()` 方法。
````javascript
const userId = '1234567890'; // 用户的 ID
const channel = client.channels.cache.get('CHANNEL_ID'); // 获取消息所在的频道
channel.messages.fetch({ limit: 100 }).then(messages => { // 一次最多获取 100 条消息
const userMessages = messages.filter(message => message.author.id === userId);
console.log(userMessages);
});
上面的代码首先获取了指定的频道,然后使用 messages.fetch()
方法获取频道中的最新 100 条消息(可以根据需要传递不同的参数),最后过滤出指定用户的消息并输出到控制台。
需要注意的是,messages.fetch()
方法返回的是一个 Promise,需要使用 then()
方法或 async/await
来处理。同时,如果要获取更多的消息,可以多次调用 messages.fetch()
方法,传递不同的参数。
### END ###