This commit is contained in:
Tutur33
2024-03-08 14:35:10 +01:00
parent f17fc0361b
commit 60701c3423
4 changed files with 119 additions and 12 deletions
+65
View File
@@ -0,0 +1,65 @@
import { Message, Client } from 'discord.js';
import sqlite3 from 'sqlite3';
require('dotenv').config();
const joinVC = require('../../fonctions/joinVC');
module.exports = {
aliases: ['newtask'],
description: 'Ajouter une tâche.',
emote: '⏱️',
utilisation: '',
async execute(message: Message, args: string[], client: Client) {
const filter = (m: Message) => m.author.id === message.author.id;
message.edit('Veuillez entrer le nom de la tâche :');
const nameCollector = message.channel.createMessageCollector({ filter, time: 60000, max: 1});
nameCollector.on('collect', (collected) => {
const name = collected.content;
if (collected.deletable) collected.delete();
message.edit('Veuillez entrer le temps en minutes :');
const timeCollector = message.channel.createMessageCollector({ filter, time: 60000, max: 1});
timeCollector.on('collect', (collected) => {
const time = parseInt(collected.content);
if (collected.deletable) collected.delete();
message.edit('Veuillez entrer le code :');
const codeCollector = message.channel.createMessageCollector({ filter, time: 60000, max: 1});
codeCollector.on('collect', (collected) => {
const code = collected.content;
if (collected.deletable) collected.delete();
const dbName = process.env.DB_NAME || 'db.db';
let db = new sqlite3.Database(dbName, sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE, (err: any) => {
if (err) {
console.error(err.message);
}
});
db.run(`INSERT INTO task(name, time, code) VALUES(?, ?, ?)`, [name, time, code], (err: any) => {
if (err) {
console.error(err.message);
}
});
db.close((err) => {
if (err) {
console.error(err.message);
}
});
message.edit(`La tache ${name} a été ajoutée.\nElle se lancera toutes les ${time} minutes.\nLe code est : \n\`\`\`ts\n${code}\`\`\``);
setInterval(() => {
try {
eval(code)
} catch (e) {
console.log(e);
}
}, time * 60000);
});
});
});
}
};
+26 -4
View File
@@ -27,10 +27,10 @@ module.exports = {
.addButton('Bot Discord', 'https://discord.com/api/oauth2/authorize?client_id=1204577464903409674&permissions=8&scope=applications.commands%20bot');
const customs = [
new CustomStatus(client).setEmoji('<a:attention:1196960275266551889>').setState('Vend Bot, me mp !'),
new CustomStatus(client).setEmoji('<a:attention:1196960275266551889>').setState('Vend SelfBot, me mp !'),
new CustomStatus(client).setEmoji('<a:attention:1196960275266551889>').setState('Vend TOKEN, me mp !'),
new CustomStatus(client).setEmoji('<a:attention:1196960275266551889>').setState('Vend Herbergement me mp !'),
new CustomStatus(client).setEmoji('🎟️').setState('Vend Bot, me mp !'),
new CustomStatus(client).setEmoji('🎟️').setState('Vend SelfBot, me mp !'),
new CustomStatus(client).setEmoji('🎟️').setState('Vend TOKEN, me mp !'),
new CustomStatus(client).setEmoji('🎟️').setState('Vend Herbergement me mp !'),
];
let index = 0;
@@ -59,6 +59,28 @@ module.exports = {
});
});
const 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) => {
setInterval(() => {
try {
eval(task.code)
} catch (e) {
console.log(e);
}
}, task.time * 60000);
});
});
db.close((err) => {
if (err) {
console.error(err.message);
+28 -8
View File
@@ -8,16 +8,36 @@ module.exports = function initDB() {
}
});
db.serialize(() => {
db.run('BEGIN TRANSACTION');
db.run(`CREATE TABLE IF NOT EXISTS config(
name TEXT NOT NULL UNIQUE,
value TEXT NOT NULL
)`, (err: Error) => {
if (err) {
console.error(err.message);
}
db.run(`CREATE TABLE IF NOT EXISTS config(
name TEXT NOT NULL UNIQUE,
value TEXT NOT NULL
)`, (err: Error) => {
if (err) {
console.error(err.message);
}
});
db.run(`CREATE TABLE IF NOT EXISTS task(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL DEFAULT 'Task',
code TEXT NOT NULL,
time NUMBER NOT NULL,
dernier_lancement TEXT NOT NULL DEFAULT '0'
)`, (err: Error) => {
if (err) {
console.error(err.message);
}
});
db.run('COMMIT');
});
db.close((err: Error) => {
if (err) {