消息收集器过滤器 [discord.js]

messageCollector filter [discord.js]

我想创建一个有多个用户的 MessageCollector, 所以,我可以这样做 :

const collector = new Discord.MessageCollector(channel, m =>
     m.author.id === "123456789" ||
     m.author.id === "978654321"
, { max: 2000, maxMatches: 2000 });

但是,我有一个数组 ID :

let array = ["123456789","987654321",...]

如何用数组[0]替换收集器中的“123456789”?

或者如何用另一种方法做到这一点?

如果我没理解错的话,您希望在频道中为 ID 与您的 ID 数组中的 ID 相匹配的作者收集消息。

提供的第二个参数 MessageCollector 是一个过滤函数。您示例中的过滤功能是根据作者的 ID 是 123456789 还是 978654321 进行过滤。

要对数组执行相同的操作,一种选择是:

let array = ["123456789","987654321",...];
const collector = new Discord.MessageCollector(channel, m => array.includes(m.author.id)), { max: 2000, maxMatches: 2000 });

如果您要处理大量消息,您可能需要进一步优化此功能,但这应该能让您入门。

info on includes.

请看这里