Files
gestion/loaders/events/gestion/messageCreate.js
T
VALOU3336 9bd39c69ca grand commit que tutur attend ( marche pas le raidmode en dev)
sinon il y a pleins de truc comme les anti raid , des coorectif ect
2024-04-22 18:30:33 +02:00

89 lines
3.9 KiB
JavaScript

const { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, ChannelType } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
const { Events } = require("discord.js");
const db = new sqlite3.Database('myDatabase.db');
const { getPermissionLevel } = require('../../fonction/getPermissionLevel');
module.exports = {
name: Events.MessageCreate,
async execute(message, client) {
const botId = message.client.user.id;
const guildId = message.guild.id;
if (message.channel.type === ChannelType.DM) return;
let data = await new Promise((resolve, reject) => {
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
if (err) {
console.error(err.message);
reject(err);
}
resolve(row ? JSON.parse(row.value) : {});
});
});
const suggestChannelId = data.suggestChannel && data.suggestChannel[guildId];
data.piconly = data.piconly || {};
data.piconly[guildId] = data.piconly[guildId] || {};
const channelIDpiconly = data.piconly[guildId];
const antilinkConfig = data[guildId]?.antilink;
let status = 'off';
let type = 'invite';
if (antilinkConfig) {
({ status, type } = antilinkConfig);
}
if (message.channel.id === suggestChannelId && !message.author.bot) {
await message.delete();
const embed = new EmbedBuilder()
.setAuthor({ name: message.author.tag, iconURL: message.author.displayAvatarURL() })
.setDescription(message.content || 'Aucun contenu fourni')
.setFooter({ text: `${message.guild.name} | ${message.client.user.username}`, })
.setColor('#409CED');
const row = new ActionRowBuilder()
.addComponents(
new ButtonBuilder()
.setCustomId(`deletesuggestion_${message.author.id}`)
.setLabel('Supprimer')
.setStyle(ButtonStyle.Danger)
);
const suggestionMessage = await message.channel.send({ embeds: [embed], components: [row] });
suggestionMessage.react('👎')
suggestionMessage.react('👍')
} else if (message.channel.id === channelIDpiconly) {
if (message.attachments.size === 0) {
message.delete()
}
} else if (status === 'on') {
data.whitelist = data.whitelist || {};
data.whitelist[guildId] = data.whitelist[guildId] || {};
const whitelist = data.whitelist[guildId];
const user = message.member;
if (await getPermissionLevel(user, client) >= 10) return;
if (whitelist[message.author.id]) return;
const messageContent = message.content;
if (type === 'all' && messageContent.includes('https://')) {
message.delete().catch(err => {;
});
}
if (type === 'invite' && (messageContent.includes('discord.com') || messageContent.includes('discord.gg'))) {
message.delete().catch(err => {
});
}
} else if (status === 'max') {
if (message.channel.type === ChannelType.DM) return;
const user = message.member;
if (await getPermissionLevel(user, client) >= 10) return;
const messageContent = message.content;
if (type === 'all' && messageContent.includes('https://')) {
message.delete().catch(err => {;
});
}
if (type === 'invite' && (messageContent.includes('discord.com') || messageContent.includes('discord.gg'))) {
message.delete().catch(err => {
});
}
}
},
};