Files
bot-discord-coins/events/messageCreate.js
T
2024-06-24 00:32:05 +02:00

72 lines
2.1 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(
`[${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}\``);
}
},
};