(DiscordJS)试图在消息ID之前获取消息,但一直获取最近的消息



我有一系列想要删除的消息。例如,如果我传递3-5条消息,我有5条消息* a b c d e*

我希望命令^delmsg 3-5删除dc

我设法获得ID(雪花)的d,并试图将其传递给before,但它不断获取我的命令和e而不是dc。我不知道我还能做些什么。也许我没有意识到我的承诺是错的。

代码:

const deleter = (message, range) => {
const range1 = range[0]; //indexes are already an array so we get the first index 
const amnt = parseInt(range[1]) - parseInt(range[0]); //makes the str index ints
var msgs, nID;

message.channel.messages.fetch({
limit: range1,
}).then(a => {
msgs = Array.from(a);
nID = msgs[range1-1][0];
}).then(message.channel.messages.fetch({
limit: amnt,
before: nID,
}).then(b => {
//message.channel.bulkDelete(b);
}));
}

.then期望一个未调用的函数。你也应该在那里使用箭头函数,它应该像预期的那样工作

message.channel.messages.fetch({
limit: range1,
}).then(a => {
msgs = Array.from(a);
nID = msgs[range1-1][0];
}).then(() => message.channel.messages.fetch({ //notice it's an arrow function
limit: amnt,
before: nID,
})).then(b => {
message.channel.bulkDelete(b);
})

您还应该注意,末尾的额外括号应该在您获取消息的.then之后。

相关内容

  • 没有找到相关文章

最新更新