A simple purge command with the addition that it does not remove pinned messages. I used the "Message.create.prefix: !purge", but you can use the prefix you want.
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
const quantity = context.params.event.content.split(' ').slice(1);
if (!quantity[0] || !parseInt(quantity[0]))
return lib.discord.channels['@0.1.1'].messages.create({
channel_id: context.params.event.channel_id,
content: `Please provide the number of messages you want me to purge`,
});
if (parseInt(quantity[0]) > 100)
return lib.discord.channels['@0.1.1'].messages.create({
channel_id: context.params.event.channel_id,
content: `I can't delete more than 100 messages at once.`,
});
const messages = await lib.discord.channels['@0.1.1'].messages.list({
channel_id: context.params.event.channel_id,
limit: parseInt(quantity[0]),
});
let messagelist = [];
let messagemap = await Promise.all(
messages.map((mess) => {
if (mess.pinned === false) {
messagelist.push(mess.id);
}
})
);
await lib.discord.channels['@0.1.1'].messages.bulkDelete({
channel_id: context.params.event.channel_id,
messages: messagelist,
});