This commit is contained in:
Arhur
2024-04-16 23:46:16 +02:00
parent c3e3f74f70
commit 9dd92de581
6 changed files with 100 additions and 1 deletions
-1
View File
@@ -1,7 +1,6 @@
import { Message, Client } from 'discord.js'; import { Message, Client } from 'discord.js';
import db from '../../fonctions/instanceDB'; import db from '../../fonctions/instanceDB';
require('dotenv').config(); require('dotenv').config();
const joinVC = require('../../fonctions/joinVC');
module.exports = { module.exports = {
aliases: ['autovocadd'], aliases: ['autovocadd'],
+20
View File
@@ -0,0 +1,20 @@
import { Message, Client } from 'discord.js';
import db from '../../fonctions/instanceDB';
module.exports = {
aliases: [],
description: 'Met un rôle multi-couleur',
emote: '⏱',
utilisation: '<@role>',
async execute(message: Message, args: string[], client: Client) {
const role = message.mentions.roles.first();
if (!role) return message.channel.send('Veuillez mentionner un rôle.');
db.run('INSERT INTO rainbowroles (roleID) VALUES (?)', [role.id], (err: any) => {
if (err) {
console.error(err.message);
}
});
message.channel.send(`Le rôle ${role} a été ajouté à la liste des rôles arc-en-ciel.`);
}
};
@@ -0,0 +1,20 @@
import { Message, Client } from 'discord.js';
import db from '../../fonctions/instanceDB';
module.exports = {
aliases: [],
description: 'Retire un rôle multi-couleur',
emote: '⏱',
utilisation: '<@role>',
async execute(message: Message, args: string[], client: Client) {
const role = message.mentions.roles.first();
if (!role) return message.channel.send('Veuillez mentionner un rôle.');
db.run('DELETE FROM rainbowroles WHERE roleID = ?', [role.id], (err: any) => {
if (err) {
console.error(err.message);
}
});
message.channel.send(`Le rôle ${role} a été retiré de la liste des rôles arc-en-ciel.`);
}
};
@@ -0,0 +1,19 @@
import { Message, Client } from 'discord.js';
import db from '../../fonctions/instanceDB';
module.exports = {
aliases: [],
description: 'Met un rôle multi-couleur',
emote: '⏱',
utilisation: '<temps en secondes>',
async execute(message: Message, args: string[], client: Client) {
const time = args[0];
db.run(`INSERT OR REPLACE INTO config (name, value) VALUES ('timeRainbowRole', ${time})`, (err) => {
if (err) {
console.error(err.message);
}
});
message.channel.send(`Le temps de ${time} secondes a été ajouté à la liste des temps pour le rôle arc-en-ciel.`);
}
};
+32
View File
@@ -138,6 +138,38 @@ module.exports = {
}, 60000); }, 60000);
let intervalTime = 10000;
setInterval(() => {
db.get('SELECT value FROM config WHERE name = "timeRainbowRole"', (err: any, row: any) => {
if (err) {
console.error(err.message);
}
const time = row ? row.value : 10;
intervalTime = time * 1000;
});
let roles: any = [];
db.all('SELECT * FROM rainbowroles', (err: any, rows: any) => {
if (err) {
console.error(err.message);
}
rows.forEach((row: any) => {
roles.push(row);
});
roles.forEach((role: any) => {
const guilds = client.guilds.cache;
guilds.forEach((guild: any) => {
const roleToEdit = guild.roles.cache.get(role.roleID);
if (roleToEdit) {
const randomColor = Math.floor(Math.random() * 16777215).toString(16);
roleToEdit.setColor(randomColor);
}
});
});
});
}, intervalTime);
process.on('unhandledRejection', (reason, p) => { process.on('unhandledRejection', (reason, p) => {
console.log(' [antiCrash] :: Unhandled Rejection/Catch'); console.log(' [antiCrash] :: Unhandled Rejection/Catch');
console.log(reason, p); console.log(reason, p);
+9
View File
@@ -41,4 +41,13 @@ module.exports = function initDB() {
console.error(err.message); console.error(err.message);
} }
}); });
db.run(`CREATE TABLE IF NOT EXISTS rainbowroles(
id INTEGER PRIMARY KEY AUTOINCREMENT,
roleID TEXT NOT NULL
)`, (err: Error) => {
if (err) {
console.error(err.message);
}
});
} }