From 7f020dd179834b7f4cb4af80a7f8c0714fe0d5ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Gro=C3=9F?= Date: Tue, 7 Nov 2023 14:19:36 +0100 Subject: [PATCH] Add timer core --- main.js | 15 +++++++++++++++ timers/testTimer.js | 15 +++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 timers/testTimer.js diff --git a/main.js b/main.js index 8354477..a714f91 100644 --- a/main.js +++ b/main.js @@ -36,4 +36,19 @@ for (const file of eventFiles) { } } +client.on(Events.ClientReady, () => { + //setup timers + const timersPath = path.join(__dirname, 'timers'); + const timerFiles = fs.readdirSync(timersPath).filter(file => file.endsWith('.js')); + for (const file of timerFiles) { + const filePath = path.join(timersPath, file); + const timer = require(filePath); + console.log(`Started Timer ${timer.name}`); + let timerInstance = setInterval(() => { + timer.tick(client, timer); + }, timer.timeout); + timer.instance = timerInstance; + } +}); + client.login(token); \ No newline at end of file diff --git a/timers/testTimer.js b/timers/testTimer.js new file mode 100644 index 0000000..f9f27e4 --- /dev/null +++ b/timers/testTimer.js @@ -0,0 +1,15 @@ +module.exports = { + timeout: 1000, + global: true, + name: 'Test timer every 1 sec', + data: { + i: 0 + }, + async tick(client, timer) { + console.log(`Test timer ticked ${timer.data.i}`); + timer.data.i++; + if(timer.data.i >= 5) { + clearInterval(timer.instance); + } + }, +}; \ No newline at end of file