From 962ab57c8dcbf3c7038ff1bc77057bcbe2fd9bd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Gro=C3=9F?= Date: Tue, 7 Nov 2023 15:06:37 +0100 Subject: [PATCH] Added 48 hour no-attach cleanup task --- timers/cleanupMessages.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 timers/cleanupMessages.js diff --git a/timers/cleanupMessages.js b/timers/cleanupMessages.js new file mode 100644 index 0000000..ef4045c --- /dev/null +++ b/timers/cleanupMessages.js @@ -0,0 +1,29 @@ +module.exports = { + timeout: 60000, + immediate: true, + name: 'Cleanup tasks', + async tick(client, timer) { + const channelId = '1171410849269809232'; + const channel = await client.channels.fetch(channelId); + + channel.messages.fetch({ limit: 100 }).then(messages => { + console.log(`Received ${messages.size} messages`); + //Iterate through the messages here with the variable "messages". + messages.forEach(message => { + if(message.attachments.size > 0) { + //Skip messages with attachment + return; + } + + let ageInMinutes = Math.ceil((Date.now() - message.createdTimestamp) / 1000 / 60); + if(ageInMinutes < 2880) { + //Skip messages posted within last 48 Hours + return; + } + + console.log(`[CLEANUP] [${message.guild.name}/${message.channel.name}] | ${message.author.globalName}: ${message.content}`); + message.delete(); + }); + }); + }, +}; \ No newline at end of file