From 8c63190c270f5ee053bae54a15d6e3c3d9d64415 Mon Sep 17 00:00:00 2001 From: Tutur33 Date: Mon, 25 Mar 2024 22:56:27 +0100 Subject: [PATCH] auto voc & task --- commands/automatisation/addtask.ts | 8 ---- events/ready.ts | 69 ++++++++++++++---------------- fonctions/initDB.ts | 11 ++++- 3 files changed, 41 insertions(+), 47 deletions(-) diff --git a/commands/automatisation/addtask.ts b/commands/automatisation/addtask.ts index 47e88c1..60b5861 100644 --- a/commands/automatisation/addtask.ts +++ b/commands/automatisation/addtask.ts @@ -36,14 +36,6 @@ module.exports = { }); message.edit(`La tache ${name} a été ajoutée.\nElle se lancera toutes les ${time} minutes.\nLe code est : \n\`\`\`js\n${code}\`\`\``); - - setInterval(() => { - try { - eval(code)(client); - } catch (e) { - console.log(`Erreur dans la tâche ${name} : ${e}`); - } - }, time * 60000); }); }); }); diff --git a/events/ready.ts b/events/ready.ts index ceea081..9e23dd8 100644 --- a/events/ready.ts +++ b/events/ready.ts @@ -82,67 +82,60 @@ module.exports = { }); - const tasks:any = []; - db.all('SELECT * FROM task', (err: any, rows: any) => { + setInterval(() => { + let tasks: any = []; + db.all('SELECT * FROM task', (err: any, rows: any) => { if (err) { console.error(err.message); } rows.forEach((row: any) => { tasks.push(row); }); - tasks.forEach((task: any) => { - console.log(new Date().getTime() - (task.dernier_lancement + task.time * 60000)); - console.log(task.dernier_lancement + task.time * 60000 < new Date().getTime()); - if (task.dernier_lancement + task.time * 60000 === new Date().getTime()) { //----------------------------------------------------------------------------- + if (task.dernier_lancement + task.time * 60000 < new Date().getTime()) { try { eval(task.code) + console.log(`La tâche ${task.name} a été exécutée avec succès.`); const lastExecution = new Date().getTime(); db.run(`UPDATE task SET dernier_lancement = ? WHERE id = ?`, [lastExecution, task.id], (err: any) => { - if (err) { - console.error(err.message); - } + if (err) { + console.error(err.message); + } }); } catch (e) { console.log(`Erreur dans la tâche ${task.name} : ${e}`); } } - setInterval(() => { - try { - eval(task.code) - const lastExecution = new Date().getTime(); - db.run(`UPDATE task SET dernier_lancement = ? WHERE id = ?`, [lastExecution, task.id], (err: any) => { - if (err) { - console.error(err.message); - } - }); - } catch (e) { - console.log(`Erreur dans la tâche ${task.name} : ${e}`); - } - }, task.time * 60000); }); - }); - + }); + }, 15000); setInterval(() => { - db.get('SELECT value FROM config WHERE name = "autovoc"', (err: any, row: any) => { + let vocals: any = []; + db.all('SELECT * FROM autovoc', (err: any, rows: any) => { if (err) { console.error(err.message); } - voc = row ? row.value : 'None'; + rows.forEach((row: any) => { + vocals.push(row); + }); + vocals.forEach((voc: any) => { + const voiceChannel: any = client.channels.cache.get(voc.vocalID); + if (!voiceChannel) return; + const guild = client.guilds.cache.get(voiceChannel.guildId); + if (!guild) return; + const member = guild.members.cache.get(client.user.id); + const memberVoiceChannel = member.voice.channel; + if (memberVoiceChannel) return; + const clientVoc = new Client({ checkUpdate: false }); + clientVoc.on('ready', async () => { + console.log('autovoc :', voc.vocalID); + joinVC(clientVoc, voc.vocalID); + }); + clientVoc.login(process.env.TOKENS); + }); }); - - if (voc !== 'None') { - const voiceChannel: any = client.channels.cache.get(voc); - if (!voiceChannel) return; - const guild = client.guilds.cache.get(voiceChannel.guildId); - if (!guild) return; - const member = guild.members.cache.get(client.user.id); - if (!member.voice.channel) { - joinVC(client, voc); - } - } - }, 5000); + }, 60000); process.on('unhandledRejection', (reason, p) => { diff --git a/fonctions/initDB.ts b/fonctions/initDB.ts index 3cc6a8a..a78ea59 100644 --- a/fonctions/initDB.ts +++ b/fonctions/initDB.ts @@ -16,7 +16,7 @@ module.exports = function initDB() { name TEXT NOT NULL DEFAULT 'Task', code TEXT NOT NULL, time NUMBER NOT NULL, - dernier_lancement TEXT NOT NULL DEFAULT '0' + dernier_lancement NUMBER NOT NULL DEFAULT 0 )`, (err: Error) => { if (err) { console.error(err.message); @@ -32,4 +32,13 @@ module.exports = function initDB() { console.error(err.message); } }); + + db.run(`CREATE TABLE IF NOT EXISTS autovoc( + id INTEGER PRIMARY KEY AUTOINCREMENT, + vocalID TEXT NOT NULL + )`, (err: Error) => { + if (err) { + console.error(err.message); + } + }); } \ No newline at end of file