【发布时间】:2018-05-16 05:22:44
【问题描述】:
所以我很确定这段代码在某一时刻可以正常工作,但最近引起我注意的是它有时有效但并非总是有效(阅读:它将总是清除我的消息 n数量,但它可能不会清除其他成员)。
因为我是在自学如何在这个项目中使用多个文件,所以代码实际上被拆分为两个文件。我不确定这是否与问题有关。鉴于这两个文件的大小,我已将它们都上传到 pastebin。
The command code. The Function code.
当我尝试清除 n 时它清除得很好,其中 n 是可接受范围内的任何数字,但是当我尝试按用户名清除 n 时,我收到一条错误消息说明
DiscordAPIError: 无效的表单正文
限制:值“”不是整数。
(注意是两个双引号,格式有点不清楚)
我很困惑它在哪里得到一个不是 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);
}
任何帮助将不胜感激。如果我想不通,我或多或少会放弃用户功能。
我也为格式化道歉。我永远无法掌握这个网站格式的窍门。
【问题讨论】:
-
只是为了确保它不是您的
amount变量,您能否尝试通过设置amount = 5来覆盖函数中的值。除此之外,我倾向于说这可能是 discord.js 库中的一个问题。在我看来,它应该在将您的输入发送到 Discord api 之前对其进行验证。您可以通过 Discord 联系开发人员及其帮助团队。您通常会很快得到回复。 -
我将其硬编码为许多不同的数量。有时它会起作用,有时它不会。结果将很大程度上取决于我想尝试删除的数字,以及我试图删除的目标成员。我想我会联系他们的。我只是想先检查并确保这不是我的错误。
-
您介意告诉我们您使用的是什么版本的 discord.js?
标签: javascript node.js discord.js