add alerte perm admin add to user notification

This commit is contained in:
VALOU3336
2024-02-27 18:52:28 +01:00
parent ba5ff77610
commit df9eaeb581
4 changed files with 100 additions and 22 deletions
+13 -21
View File
@@ -1,4 +1,4 @@
const { PermissionFlagsBits } = require('discord.js');
const { PermissionsBitField } = require('discord.js');
module.exports = {
name: 'bunker',
description: 'Activer le bot bunker',
@@ -7,27 +7,19 @@ module.exports = {
category: 'antiraid',
async execute(message, args, client) {
const guild = message.guild;
const dangerousPermissions = [
'ADMINISTRATOR', 'VIEW_AUDIT_LOG', 'MANAGE_GUILD', 'MANAGE_ROLES', 'MANAGE_CHANNELS', 'KICK_MEMBERS', 'BAN_MEMBERS',
'MANAGE_EMOJIS_AND_STICKERS', 'MANAGE_WEBHOOKS', 'MANAGE_MESSAGES',
'MENTION_EVERYONE', 'MUTE_MEMBERS', 'DEAFEN_MEMBERS', 'MOVE_MEMBERS'
const dangerousPermissions = [
PermissionsBitField.Flags.Administrator,
PermissionsBitField.Flags.ManageGuild,
PermissionsBitField.Flags.ManageRoles,
PermissionsBitField.Flags.ManageChannels,
PermissionsBitField.Flags.KickMembers,
PermissionsBitField.Flags.BanMembers,
PermissionsBitField.Flags.ManageWebhooks,
PermissionsBitField.Flags.MuteMembers,
PermissionsBitField.Flags.MentionEveryone,
PermissionsBitField.Flags.ManageEvents,
PermissionsBitField.Flags.ManageThreads,
];
// const dangerousPermissions = [
PermissionFlagsBits.FLAGS.
Permissions.FLAGS.VIEW_AUDIT_LOG,
Permissions.FLAGS.MANAGE_GUILD,
Permissions.FLAGS.MANAGE_ROLES,
Permissions.FLAGS.MANAGE_CHANNELS,
Permissions.FLAGS.KICK_MEMBERS,
Permissions.FLAGS.BAN_MEMBERS,
Permissions.FLAGS.MANAGE_EMOJIS_AND_STICKERS,
Permissions.FLAGS.MANAGE_WEBHOOKS,
Permissions.FLAGS.MANAGE_MESSAGES,
Permissions.FLAGS.MENTION_EVERYONE,
Permissions.FLAGS.MUTE_MEMBERS,
Permissions.FLAGS.DEAFEN_MEMBERS,
Permissions.FLAGS.MOVE_MEMBERS
//];
// Kick all bots
await Promise.all(guild.members.cache.filter(member => member.user.bot).map(member => member.kick()));
+40
View File
@@ -0,0 +1,40 @@
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: 'alerte',
description: 'Active ou désactive l\'alerte.',
category: 'gestion',
emote: '📢',
utilisation: '+alerte <on/off>',
async execute(message, args) {
if (!args.length) return message.reply('Veuillez spécifier "on" ou "off".');
const state = args[0].toLowerCase();
if (state !== 'on' && state !== 'off') {
return message.reply('Veuillez spécifier "on" ou "off".');
}
let data = await new Promise((resolve, reject) => {
db.get('SELECT value FROM gestion WHERE id = ?', [message.client.user.id], (err, row) => {
if (err) {
console.error(err.message);
reject(err);
}
resolve(row ? JSON.parse(row.value) : {});
});
});
if (!data[message.guild.id]) {
data[message.guild.id] = {};
}
data[message.guild.id].alerte = state;
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [message.client.user.id, JSON.stringify(data)], function(err) {
if (err) {
return console.error(err.message);
}
});
message.reply(`L'alerte a été ${state === 'on' ? 'activée' : 'désactivée'}.`);
},
};
+1 -1
View File
@@ -24,7 +24,7 @@ module.exports = {
if (!data[message.guild.id]) {
data[message.guild.id] = {};
}
data[message.guild.id].raidping = channelId;
data[message.guild.id].raidping = messageContent;
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [message.client.user.id, JSON.stringify(data)], function(err) {
if (err) {
+46
View File
@@ -0,0 +1,46 @@
const {EmbedBuilder , PermissionsBitField , Events } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: Events.GuildMemberUpdate,
async execute(oldMember, newMember, client) {
const guildId = newMember.guild.id
console.log("dddddddd")
if (!oldMember.permissions.has(PermissionsBitField.Flags.Administrator) && newMember.permissions.has(PermissionsBitField.Flags.Administrator)) {
console.log('aaaaaa')
let data = await new Promise((resolve, reject) => {
db.get('SELECT value FROM gestion WHERE id = ?', [client.user.id], (err, row) => {
if (err) {
console.error(err.message);
reject(err);
}
resolve(row ? JSON.parse(row.value) : {});
});
});
if (!data[newMember.guild.id]) {
data[newMember.guild.id] = {};
}
if (data[newMember.guild.id].alerte === 'on') {
console.log("on")
const raidlogChannelId = data[newMember.guild.id].raidlog;
const raidlogChannel = newMember.guild.channels.cache.get(raidlogChannelId);
const raidMessage = data[newMember.guild.id].raidping || 'Aucun message de raid configuré.';
if (raidlogChannel) {
const embed = new EmbedBuilder()
.setTitle('Alerte de permissions')
.setDescription(`${newMember.user.tag} a reçu des permissions d'administrateur.`)
.setColor(0xff0000);
try {
await raidlogChannel.send({ content: raidMessage, embeds: [embed] });
} catch (error) {
}
}
}
}
},
};