DiscordAPIError尝试清除邮件时无效的表单正文

时间:2017-12-02 04:40:27

标签: javascript node.js discord.js

所以我非常肯定这段代码在某一点上运行正常,但最近我注意到它有时可以工作但并非总是如此(读取:总是总是通过n清除我的消息金额,但可能不会清除其他成员。)

因为我在教自己如何在这个项目中使用多个文件,所以代码实际上是在两个文件之间分开的。我不确定这是否与此问题有关。鉴于这两个文件的大小,我已将它们上传到pastebin。

The command code. The Function code.

当我尝试清除n时,它清除正常,其中n是可接受范围内的任何数字,但当我尝试用用户名清除n时,我收到一条错误消息,说明

  

DiscordAPIError:表单正文无效

     

限制:价值""不是int。

(请注意,这是两个双引号,格式有点不清楚)

我很困惑它获得的值不是int,因为我通过praseInt运行量。我已经删除了检查用户是否已定义并在下面发布的代码段,因为我认为这是问题所在:

if (user) { // If User is Provided
  debug.run(`Filtering messages by ${user.username}`);
  const filterBy = user ? user.id : client.user.id;
  messages = messages.filter(m => m.author.id === filterBy).array().slice(0, amount);
}

非常感谢任何帮助。如果我无法解决这个问题,我或多或少会废弃用户功能。

我也为格式化道歉。我永远无法掌握这些网站的格式。

1 个答案:

答案 0 :(得分:0)

尝试摆脱 .array().slice(0, amount)

如果amount行已经对其进行限制,则不需要message.channel.fetchMessages({ limit: amount }).then((messages) => {剪切获取的消息数组。