为什么 bulkDelete 在 discord.js 中不起作用?

Why is not bulkDelete working in discord.js?

我试图对我的 discord 机器人发出批量删除命令,但它不起作用。

const args = message.content.slice(prefix.length).trim().split(/ +/g);

if(args[1] == 'bulkdelete') {
  const deleteCount = parseInt(args[2], 10);
  message.channel.bulkDelete(deleteCount || 100)
    .then(() => message.reply('Removing messages'))
    .catch(console.error);
}

当我尝试使用它时,它 returns 出错了。 TypeError: Object.entries(...).filter(...).flatMap is not a function

我做错了什么?

我不知道代码的哪一部分具体导致了错误 TypeError: Object.entries(...).filter(...).flatMap is not a function,但鉴于此错误正在发生,我可能知道修复方法。

Object.entries()returns一个数组,array.filter()returns一个数组,node.js v11+中的数组有函数属性flatMap().由于错误告诉您 flatMap() 属性 不是数组上的函数,您可能使用的是旧版本的 nodeJS。

要解决此问题,您需要更新到节点 11 或更高版本。

相关资源:
Javascript - flatMap method over array - (flatMap is not a function)