mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 23:36:35 +02:00
9bd39c69ca
sinon il y a pleins de truc comme les anti raid , des coorectif ect
89 lines
3.9 KiB
JavaScript
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 => {
|
|
});
|
|
}
|
|
}
|
|
},
|
|
}; |