📌  相关文章
📜  从用户名 discordjs v12 获取所有消息 - Javascript (1)

📅  最后修改于: 2023-12-03 15:36:19.485000             🧑  作者: Mango

从用户名 discordjs v12 获取所有消息 - Javascript

在 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() 方法,传递不同的参数。

返回的 Markdown 格式
# 从用户名 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 ###