mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-13 23:58:16 +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 = {
|
module.exports = {
|
||||||
name: 'bunker',
|
name: 'bunker',
|
||||||
description: 'Activer le bot bunker',
|
description: 'Activer le bot bunker',
|
||||||
@@ -7,27 +7,19 @@ module.exports = {
|
|||||||
category: 'antiraid',
|
category: 'antiraid',
|
||||||
async execute(message, args, client) {
|
async execute(message, args, client) {
|
||||||
const guild = message.guild;
|
const guild = message.guild;
|
||||||
const dangerousPermissions = [
|
const dangerousPermissions = [
|
||||||
'ADMINISTRATOR', 'VIEW_AUDIT_LOG', 'MANAGE_GUILD', 'MANAGE_ROLES', 'MANAGE_CHANNELS', 'KICK_MEMBERS', 'BAN_MEMBERS',
|
PermissionsBitField.Flags.Administrator,
|
||||||
'MANAGE_EMOJIS_AND_STICKERS', 'MANAGE_WEBHOOKS', 'MANAGE_MESSAGES',
|
PermissionsBitField.Flags.ManageGuild,
|
||||||
'MENTION_EVERYONE', 'MUTE_MEMBERS', 'DEAFEN_MEMBERS', 'MOVE_MEMBERS'
|
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
|
// Kick all bots
|
||||||
await Promise.all(guild.members.cache.filter(member => member.user.bot).map(member => member.kick()));
|
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]) {
|
if (!data[message.guild.id]) {
|
||||||
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) {
|
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [message.client.user.id, JSON.stringify(data)], function(err) {
|
||||||
if (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