Files
bot-discord-coins/events/messageCreate.js
T
2024-06-21 16:55:35 +02:00

46 lines
2.0 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 == true) { 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 ((permissionLevel < command.permission) && (!client.config.owners.includes(message.author.id))) {
return message.reply("Vous n'avez pas la permission d'utiliser cette commande.");
}
try {
command.execute(message, args, client);
console.log("execute2")
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}\``);
}
}
};