diff --git a/commands/automatisation/executetask.ts b/commands/automatisation/executetask.ts new file mode 100644 index 0000000..1763400 --- /dev/null +++ b/commands/automatisation/executetask.ts @@ -0,0 +1,38 @@ +import { Message, Client } from 'discord.js'; +import db from '../../fonctions/instanceDB'; +require('dotenv').config(); + +module.exports = { + aliases: [], + description: 'Executer une tâche.', + emote: '⏱️', + utilisation: '', + + async execute(message: Message, args: string[], client: Client) { + let id = args[0]; + if (!id) { + return message.edit('Veuillez entrer un id'); + } + db.get(`SELECT * FROM task WHERE id = ?`, [id], (err: any, row: any) => { + if (err) { + console.error(err.message); + } + if (!row) { + return message.edit('Aucune tâche avec cet id.'); + } + try { + eval(row.code); + const lastExecution = new Date().getTime(); + db.run(`UPDATE task SET dernier_lancement = ? WHERE id = ?`, [lastExecution, id], (err: any) => { + if (err) { + console.error(err.message); + } + }); + message.edit(`Tâche ${row.name} exécutée avec succès.`); + } catch (error) { + console.error(error); + return message.edit(`Erreur lors de l'exécution du code : ${error}`); + } + }); + } +}; \ No newline at end of file diff --git a/commands/utils/code.ts b/commands/utils/code.ts new file mode 100644 index 0000000..13f7a2b --- /dev/null +++ b/commands/utils/code.ts @@ -0,0 +1,55 @@ +import { Message, Client } from 'discord.js'; +const http = require("https"); + +module.exports = { + aliases: [], + description: 'Génére du code.', + emote: '⏱️', + utilisation: ' ', + + async execute(message: Message, args: string[], client: Client) { + const lenguage = args[0] + const prompt = args.slice(1).join(' '); + const options = { + "method": "POST", + "hostname": "api.textcortex.com", + "port": null, + "path": "/v1/codes", + "headers": { + "Content-Type": "application/json", + "Authorization": "Bearer gAAAAABl8hnwXg-FXY1t5PNCTcEGvcN86UaaXycbse_6ZhdlEt_lBbkieBh3QTxjxu5ii1rs--YeoSu-GIh4GwLx2ADp5WtHX867wedEEkYji3kdInL-qgyeayGEODhUQyYd-x8XESZq" + } + }; + + const req = http.request(options, function (res: any) { + const chunks: any = []; + + res.on("data", function (chunk: any) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + const response = JSON.parse(body.toString()); + if (response.status === "success") { + const output = response.data.outputs[0].text; + message.edit(`\`\`\`${lenguage}\n${output}\`\`\``); + } else { + console.log("Error: Request failed with API"); + message.edit("Erreur lors de l'execution de l'API.\n le premier parametre est le lengage de pregramation exemple : python, javascript, php, java...") + } + }); + }); + + req.write(JSON.stringify({ + max_tokens: 2048, + mode: lenguage, + model: 'icortex-1', + n: 1, + temperature: 0, + text: prompt + })); + req.end(); + + } +}; \ No newline at end of file diff --git a/commands/utils/spam.ts b/commands/utils/spam.ts new file mode 100644 index 0000000..afabde5 --- /dev/null +++ b/commands/utils/spam.ts @@ -0,0 +1,20 @@ +import { Message, Client } from 'discord.js'; + +module.exports = { + aliases: ['spame'], + description: 'Spam un message', + emote: '⏱️', + utilisation: ' ', + + async execute(message: Message, args: string[], client: Client) { + const nbr = parseFloat(args[0]); + if (!Number.isInteger(nbr)) return message.edit("Entrez un nombre en premier argument.") + const messagespam = args.slice(1).join(' '); + + for (let i = 0; i < nbr; i++) { + setTimeout(() => { + message.channel.send(messagespam); + }, 2000 * i); + } + }, +}; \ No newline at end of file diff --git a/events/ready.ts b/events/ready.ts index ec409e7..e15e0f3 100644 --- a/events/ready.ts +++ b/events/ready.ts @@ -92,11 +92,32 @@ module.exports = { }); 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()) { //----------------------------------------------------------------------------- + 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}`); + } + } 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 ${name} : ${e}`); + console.log(`Erreur dans la tâche ${task.name} : ${e}`); } }, task.time * 60000); });