mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 15:07:26 +02:00
add alerte perm admin add to user notification
This commit is contained in:
+13
-21
@@ -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()));
|
||||
|
||||
@@ -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'}.`);
|
||||
},
|
||||
};
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user