Files
2024-07-08 22:39:14 +02:00

85 lines
2.7 KiB
JavaScript

const { Message, Events } = require("discord.js");
const db = require("../fonctions/database.js");
var loggT = require("../loggerT.js");
var loggE = require("../loggerE.js");
const getPermissionLevel = require("../fonctions/getPermissionLevel.js");
module.exports = {
name: Events.MessageCreate,
async execute(message, client) {
if (message.author.bot) return;
const user = await new Promise((resolve, reject) => {
db.get(
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
[message.guild.id, message.author.id],
(err, row) => {
if (err) reject(err);
resolve(row);
},
);
});
if (user.blacklist == 1) {
return;
}
const prefix =
db.get(`SELECT value FROM config WHERE guildId = ? AND name = ?`, [
message.guild.id,
"prefix",
])?.value || "&";
if (message.content.startsWith(prefix)) {
const args = message.content.slice(prefix.length).trim().split(/ +/);
const commandName = args.shift()?.toLowerCase();
const command = client.commands.get(commandName);
if (!command) return;
const permissionLevel = await getPermissionLevel(
message.guild.id,
message.member,
);
if (!client.config.owners.includes(message.author.id)) {
if (message.guild.ownerId !== message.author.id) {
if (permissionLevel < command.permission) {
return message.reply(
"Vous n'avez pas la permission d'utiliser cette commande.",
);
}
}
}
try {
command.execute(message, args, client);
console.log(
`[${prefix}] ${message.guild.name} | ${message.author.tag} | ${command.name}`
.blue,
);
loggT(
`[${prefix}] ${message.guild.name} | ${message.author.tag} | ${command.name}`,
);
} catch (error) {
console.error(error);
loggE(error);
message.reply("Erreur lors de l'exécution de la commande");
}
} else if (
message.content === `<@!${client.user.id}>` ||
message.content === `<@${client.user.id}>`
) {
message.reply(`Mon prefix est \`${prefix}\``);
const command = client.commands.get('help');
try {
command.execute(message, null, client);
console.log(`[${prefix}] ${message.guild.name} | ${message.author.tag} | ${command.name}`.blue)
loggT(`[${prefix}] ${message.guild.name} | ${message.author.tag} | ${command.name}`)
} catch (error) {
console.error(error);
loggerT(error)
message.reply("Erreur lors de l'exécution de la commande help");
}
}
},
};