fix: make /purge use bulk delete route
This commit is contained in:
parent
94f94d4e53
commit
587e35b44e
1 changed files with 10 additions and 7 deletions
|
@ -26,7 +26,8 @@ export default {
|
||||||
if (amount > MAX_PURGE_AMOUNT) return message.reply(`Message count exceeds the limit of ${MAX_PURGE_AMOUNT}.`);
|
if (amount > MAX_PURGE_AMOUNT) return message.reply(`Message count exceeds the limit of ${MAX_PURGE_AMOUNT}.`);
|
||||||
|
|
||||||
messages = await message.channel!.fetchMessages({
|
messages = await message.channel!.fetchMessages({
|
||||||
limit: amount
|
limit: amount,
|
||||||
|
before: message._id,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// delete messages between [id] and [id]
|
// delete messages between [id] and [id]
|
||||||
|
@ -78,15 +79,17 @@ export default {
|
||||||
messages = messages.filter(m => users.find(u => u?._id == m.author_id));
|
messages = messages.filter(m => users.find(u => u?._id == m.author_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
let m = await (message.channel?.sendMessage(`Deleting ${messages.length} messages...`)?.catch(console.error));
|
await message.channel?.deleteMessages(messages.map(m => m._id));
|
||||||
let res = await Promise.allSettled(messages.map(m => m.delete()));
|
|
||||||
|
|
||||||
let failures = res.filter(r => r.status == 'rejected').length;
|
const replyMsg = await message.channel?.sendMessage({ content: `Deleted ${messages.length} messages.` })
|
||||||
|
|
||||||
await m?.edit({ content: `Deleted ${messages.length} messages.`
|
|
||||||
+ `${failures > 0 ? `\n${failures} message${failures == 1 ? '' : 's'} failed to delete.` : ''}` })
|
|
||||||
.catch(console.error);
|
.catch(console.error);
|
||||||
|
|
||||||
|
setTimeout(async () => {
|
||||||
|
await replyMsg?.delete();
|
||||||
|
if (!messages.find(m => m._id == message._id)) await message.delete();
|
||||||
|
}, 6000);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
|
console.error(e);
|
||||||
message.channel?.sendMessage(`An error has occurred: ${e}`);
|
message.channel?.sendMessage(`An error has occurred: ${e}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue