Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require("discord.js");
- const { MessageEmbed } = Discord;
- const client = new Discord.Client();
- const fs = require("fs");
- const quickdb = require("quick.db");
- client.commands = new Discord.Collection();
- const giveaways = require ("discord-giveaways");
- const Blacklist = new quickdb.table("BlackList");
- const Guild_Data = new quickdb.table("Guild_Data");
- client.on('ready', async => {
- giveaways.launch(client, {
- updateCountdownEvery: 5000,
- botsCanWin: false,
- ignoreIfHasPermission: [
- "MANAGE_GUILD"
- ],
- embedColor: "#FF0000",
- reaction: "🎉"
- });
- console.log(`Flash est en ligne sur ${client.guilds.size} serveurs.`);
- client.user.setActivity(`f/help | ${client.guilds.size} serveurs! | 2.9`, {type: "PLAYING"})
- });
- fs.readdir("./commands/", (err, content) => {
- if(err) console.log(err);
- if(content.length < 1) return console.log(err);
- var groups = [];
- content.forEach(element => {
- if(!element.includes('.')) groups.push(element);
- });
- groups.forEach(folder => {
- fs.readdir("./commands/"+folder, (e, files) => {
- let js_files = files.filter(f => f.split(".").pop() === "js");
- if(js_files.length < 1) return console.log(err);
- if(e) console.log(e);
- js_files.forEach(element => {
- let props = require('./commands/'+folder+'/'+element);
- client.commands.set(props.help.name, props);
- });
- });
- });
- });
- fs.readdir("./commands/configs/", (err, content) => {
- if(err) console.log(err);
- if(content.length < 1) return console.log(err);
- var groups = [];
- content.forEach(element => {
- if(!element.includes('.')) groups.push(element);
- });
- groups.forEach(folder => {
- fs.readdir("./commands/configs/"+folder, (e, files) => {
- let js_files = files.filter(f => f.split(".").pop() === "js");
- if(js_files.length < 1) return console.log(err);
- if(e) console.log(e);
- js_files.forEach(element => {
- let props = require('./commands/configs/'+folder+'/'+element);
- client.commands.set(props.help.name, props);
- });
- });
- });
- });
- client.on('guildCreate', guild => {
- let mp = new MessageEmbed()
- .setColor("#7CFC00")
- .setAuthor("✅ Merci de m'avoir ajouté dans votre serveur !")
- .setDescription("**⭐ Merci de m'avoir ajouté dans votre serveur " + guild.name + ".\nJe suis un bot multi-fonctions possédant des commandes de modération, de divertissement et d'utilité générale. Je possède aussi des système comme les anti-liens, la liste noire et l'anti-insultes.\nPour visualiser ma page d'aide, voici la commande : `f/help`**")
- guild.owner.send(mp).catch(err => {
- if(err) {
- console.log("Impossible de DM")
- }
- });
- let ajout = new MessageEmbed()
- .setDescription(`📌 Nouveau serveur !`)
- .addField("📋 Nom du serveur :", guild.name, true)
- .addField("📊 Nombre de membres :", guild.memberCount, true)
- .addField("💻 Nombre de salons :", guild.channels.size, true)
- .addField("👤 Propriétaire :", guild.owner.user.username, true)
- .addField("🌍 Région du serveur :", guild.region, true)
- .addField("📝 Identifiant du serveur :", guild.id, true)
- .setColor("#7CFC00")
- client.channels.get("620548901258133515").send(ajout)
- client.user.setActivity(`f/help | ${client.guilds.size} serveurs! | 2.9`, {type: "PLAYING"})
- });
- client.on("guildDelete", guild => {
- var remove = new MessageEmbed()
- .setColor("#FF0000")
- .setTitle(":x: Départ d'un serveur !")
- .addField("📋 Nom du serveur : ", guild.name, true)
- .addField("👤 Nombre de membres :", guild.memberCount, true)
- .addField("👤 Propriétaire :", guild.owner.user.username, true)
- .setTimestamp()
- client.channels.get("620548901258133515").send(remove)
- client.user.setActivity(`f/help | ${client.guilds.size} serveurs! | 2.9`, {type: "PLAYING"})
- });
- client.on('guildMemberAdd', async member => {
- // LISTE NOIRE
- if(Blacklist.get(member.id)){
- if(Guild_Data.get(`${ member.guild.id }.autoban`) === "Oui"){
- let result;
- if(member.bannable){
- result = "**:white_check_mark: Le membre à été automatiquement banni.**";
- }else{
- result = "**:x: Le membre n'as pas pu être banni, mes permissions sont insuffisantes.**";
- }
- if(member.bannable){
- await member.guild.ban(member.id, {
- days:7,
- reason:Guild_Data.get(`${ member.id }.reason`)
- });
- }
- await member.guild.owner.createDM().then(dm => dm.send({
- embed:{
- timestamp: new Date,
- color: 0xbc0000,
- author: {
- name: "Flash | Liste noire",
- icon_url: client.user.displayAvatarURL()
- },
- description: `Le membre ${member.user.username}#${member.user.discriminator} (${member.id}) est entré sur le serveur **${member.guild.name}** ou vous êtes propriétaire, alors qu'il figure dans notre liste noire pour le motif suivant :
- ${Blacklist.get(`${member.id}.reason`)}.
- Résultat: ${result}`
- }
- })).catch(console.error)
- } else {
- await member.guild.owner.createDM().then(dm => dm.send({
- embed: {
- timestamp: new Date,
- color: 0xbc0000,
- },
- author: {
- name: "Flash | Liste noire",
- icon_url: client.user.displayAvatarURL()
- },
- description: `Le membre ${member.user.username}#${member.user.discriminator} (${member.id}) est entré sur le serveur **${member.guild.name}** ou vous êtes propriétaire, alors qu'il figure dans notre liste noire pour le motif suivant :
- ${Blacklist.get(`${member.id}.reason`)}.
- L'autoban n'étant pas activé, il n'a pas été banni.`
- }))
- }
- }
- // SYSTEME DE BIENVENUE
- let server = member.guild.id
- let rps = [
- `**Faites attention, ${member.user.username}#${member.user.discriminator} vient de rejoindre le serveur !**`,
- `**Après avoir gravit toutes les montagnes de discord, ${member.user.username}#${member.user.discriminator} est arrivé a bon port.**`,
- `**Le saviez-vous ? ${member.user.username}#${member.user.discriminator} vient de rejoindre le serveur !**`,
- `**Un danger est en vue : ${member.user.username}#${member.user.discriminator} vient de rejoindre le serveur !**`
- ]
- let rslt = Math.floor((Math.random() * rps.length));
- if(Guild_Data.get(`${server}.welcomeChannel.status`) === "Oui"){
- let channel_ = Guild_Data.get(`${server}.welcomeChannel.channelID`)
- var joinEmbed = new MessageEmbed()
- .setColor("#008000")
- .setDescription(`<a:join:616197720956338176> ${rps[rslt]}`)
- try {
- client.channels.get(channel_).send(joinEmbed)
- } catch(e) {
- console.log(`Permissions insuffisantes.`)
- }
- }
- // SYSTEME DE ROLE AUTOMATIQUE
- if(Guild_Data.get(`${server}.autoRole.status`) === "Oui"){
- let role_ = Guild_Data.get(`${server}.autoRole.roleID`)
- if(member.guild.me.roles.highest.comparePositionTo(role_) <= 0) return console.log(`Permissions inssufisantes.`)
- if(!member.guild.me.hasPermission("MANAGE_ROLES")) return console.log(`Permissions inssufisantes.`)
- member.roles.add(role_)
- }
- // SYSTÈME DE BIENVENUE EN PRIVÉ
- if(Guild_Data.get(`${server}.welcomePrivateMessage.status`) === "Oui"){
- let hex = Guild_Data.get(`${server}. welcomePrivateMessage.couleur}`)
- if(!hex) {
- hex === `RANDOM`
- }
- let welcomePrivateMessageMessage = Guild_Data.get(`${server}.welcomePrivateMessage.msg`)
- var msgEmbed = new MessageEmbed()
- .setColor(`${hex}`)
- .setDescription(`${welcomePrivateMessageMessage}`)
- await member.send(msgEmbed).catch(err => {
- if(err) {
- console.log(`Permissions inssufisantes`)
- }
- })
- }
- // SYSTEME RAIDMOD
- if(Guild_Data.get(`${server}.raidMod`) === "Oui"){
- if(!member.guild.me.hasPermission("KICK_MEMBERS")) return console.log(`Permissions inssufisantes.`)
- try {
- member.send(`**:warning: Vous avez tenté de rejoindre le serveur ${member.guild.name} mais ce dernier a activé le système raidMod (kick automatique demandé par un administrateur). Veuillez réessayer plus tard ou essayez de contacter le propriétaire du serveur (\`${member.guild.owner.user.username}#${member.guild.owner.user.discriminator}\`).**`)
- } catch(e) {
- console.log(`Permissions insuffisantes.`)
- }
- await member.kick();
- }
- });
- client.on('guildMemberRemove', async member => {
- let server = member.guild.id
- if(Guild_Data.get(`${server}.welcomeChannel.status`) === "Oui"){
- let channel_ = Guild_Data.get(`${server}.welcomeChannel.channelID`)
- var leaveEmbed = new MessageEmbed()
- .setColor("#FF0000")
- .setDescription(`<a:leave:616197734978027520> ${member.user.username} vient de quitter le serveur. Nous sommes maintenant ${member.guild.memberCount} membres dans le serveur !`)
- try {
- client.channels.get(channel_).send(leaveEmbed)
- } catch(e) {
- console.log(`Permissions insuffisantes.`)
- }
- }
- })
- client.on('message', message => {
- const botMention = new RegExp(`^<@!?${client.user.id}>( |)$`);
- if (message.content.match(botMention)) {
- return message.channel.send(`**:information_source: Bonjour, Faites \`f/help\`\ pour visualiser ma page d'aide.**`);
- }
- });
- client.on("message", message => {
- if(message.author.bot) return;
- if(!message.channel.permissionsFor(client.user).has("SEND_MESSAGES")) return;
- let prefix = "f/";
- if(!message.content.startsWith(prefix)) return;
- let messageArray = message.content.split(" ");
- let cmd = messageArray[0];
- let args = messageArray.slice(1);
- let commandfile = client.commands.get(cmd.slice(prefix.length));
- if(commandfile){
- if(!message.channel.permissionsFor(client.user).has("EMBED_LINKS")) return message.channel.send("**:x: Il me faut la permission `EMBED_LINKS`**");
- commandfile.run(client, message, args);
- }
- if(message.content.indexOf(prefix) !== 0) return;
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement