Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.76 KB | None | 0 0
  1. const Discord = require("discord.js");
  2. const { MessageEmbed } = Discord;
  3. const client = new Discord.Client();
  4. const fs = require("fs");
  5. const quickdb = require("quick.db");
  6. client.commands = new Discord.Collection();
  7. const giveaways = require ("discord-giveaways");
  8. const Blacklist = new quickdb.table("BlackList");
  9. const Guild_Data = new quickdb.table("Guild_Data");
  10.  
  11. client.on('ready', async => {
  12. giveaways.launch(client, {
  13. updateCountdownEvery: 5000,
  14. botsCanWin: false,
  15. ignoreIfHasPermission: [
  16. "MANAGE_GUILD"
  17. ],
  18. embedColor: "#FF0000",
  19. reaction: "🎉"
  20. });
  21. console.log(`Flash est en ligne sur ${client.guilds.size} serveurs.`);
  22. client.user.setActivity(`f/help | ${client.guilds.size} serveurs! | 2.9`, {type: "PLAYING"})
  23. });
  24.  
  25.  
  26.  
  27. fs.readdir("./commands/", (err, content) => {
  28. if(err) console.log(err);
  29. if(content.length < 1) return console.log(err);
  30. var groups = [];
  31. content.forEach(element => {
  32. if(!element.includes('.')) groups.push(element);
  33. });
  34. groups.forEach(folder => {
  35. fs.readdir("./commands/"+folder, (e, files) => {
  36. let js_files = files.filter(f => f.split(".").pop() === "js");
  37. if(js_files.length < 1) return console.log(err);
  38. if(e) console.log(e);
  39. js_files.forEach(element => {
  40. let props = require('./commands/'+folder+'/'+element);
  41. client.commands.set(props.help.name, props);
  42. });
  43. });
  44. });
  45. });
  46.  
  47. fs.readdir("./commands/configs/", (err, content) => {
  48. if(err) console.log(err);
  49. if(content.length < 1) return console.log(err);
  50. var groups = [];
  51. content.forEach(element => {
  52. if(!element.includes('.')) groups.push(element);
  53. });
  54. groups.forEach(folder => {
  55. fs.readdir("./commands/configs/"+folder, (e, files) => {
  56. let js_files = files.filter(f => f.split(".").pop() === "js");
  57. if(js_files.length < 1) return console.log(err);
  58. if(e) console.log(e);
  59. js_files.forEach(element => {
  60. let props = require('./commands/configs/'+folder+'/'+element);
  61. client.commands.set(props.help.name, props);
  62. });
  63. });
  64. });
  65. });
  66.  
  67.  
  68. client.on('guildCreate', guild => {
  69. let mp = new MessageEmbed()
  70. .setColor("#7CFC00")
  71. .setAuthor("✅ Merci de m'avoir ajouté dans votre serveur !")
  72. .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`**")
  73. guild.owner.send(mp).catch(err => {
  74. if(err) {
  75. console.log("Impossible de DM")
  76. }
  77. });
  78. let ajout = new MessageEmbed()
  79. .setDescription(`📌 Nouveau serveur !`)
  80. .addField("📋 Nom du serveur :", guild.name, true)
  81. .addField("📊 Nombre de membres :", guild.memberCount, true)
  82. .addField("💻 Nombre de salons :", guild.channels.size, true)
  83. .addField("👤 Propriétaire :", guild.owner.user.username, true)
  84. .addField("🌍 Région du serveur :", guild.region, true)
  85. .addField("📝 Identifiant du serveur :", guild.id, true)
  86. .setColor("#7CFC00")
  87. client.channels.get("620548901258133515").send(ajout)
  88. client.user.setActivity(`f/help | ${client.guilds.size} serveurs! | 2.9`, {type: "PLAYING"})
  89. });
  90.  
  91. client.on("guildDelete", guild => {
  92. var remove = new MessageEmbed()
  93. .setColor("#FF0000")
  94. .setTitle(":x: Départ d'un serveur !")
  95. .addField("📋 Nom du serveur : ", guild.name, true)
  96. .addField("👤 Nombre de membres :", guild.memberCount, true)
  97. .addField("👤 Propriétaire :", guild.owner.user.username, true)
  98. .setTimestamp()
  99. client.channels.get("620548901258133515").send(remove)
  100. client.user.setActivity(`f/help | ${client.guilds.size} serveurs! | 2.9`, {type: "PLAYING"})
  101. });
  102.  
  103.  
  104. client.on('guildMemberAdd', async member => {
  105. // LISTE NOIRE
  106. if(Blacklist.get(member.id)){
  107. if(Guild_Data.get(`${ member.guild.id }.autoban`) === "Oui"){
  108. let result;
  109. if(member.bannable){
  110. result = "**:white_check_mark: Le membre à été automatiquement banni.**";
  111. }else{
  112. result = "**:x: Le membre n'as pas pu être banni, mes permissions sont insuffisantes.**";
  113. }
  114.  
  115. if(member.bannable){
  116. await member.guild.ban(member.id, {
  117. days:7,
  118. reason:Guild_Data.get(`${ member.id }.reason`)
  119. });
  120. }
  121. await member.guild.owner.createDM().then(dm => dm.send({
  122. embed:{
  123. timestamp: new Date,
  124. color: 0xbc0000,
  125. author: {
  126. name: "Flash | Liste noire",
  127. icon_url: client.user.displayAvatarURL()
  128. },
  129. 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 :
  130. ${Blacklist.get(`${member.id}.reason`)}.
  131. Résultat: ${result}`
  132. }
  133. })).catch(console.error)
  134. } else {
  135. await member.guild.owner.createDM().then(dm => dm.send({
  136. embed: {
  137. timestamp: new Date,
  138. color: 0xbc0000,
  139. },
  140. author: {
  141. name: "Flash | Liste noire",
  142. icon_url: client.user.displayAvatarURL()
  143. },
  144. 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 :
  145. ${Blacklist.get(`${member.id}.reason`)}.
  146. L'autoban n'étant pas activé, il n'a pas été banni.`
  147. }))
  148. }
  149. }
  150.  
  151.  
  152. // SYSTEME DE BIENVENUE
  153. let server = member.guild.id
  154. let rps = [
  155. `**Faites attention, ${member.user.username}#${member.user.discriminator} vient de rejoindre le serveur !**`,
  156. `**Après avoir gravit toutes les montagnes de discord, ${member.user.username}#${member.user.discriminator} est arrivé a bon port.**`,
  157. `**Le saviez-vous ? ${member.user.username}#${member.user.discriminator} vient de rejoindre le serveur !**`,
  158. `**Un danger est en vue : ${member.user.username}#${member.user.discriminator} vient de rejoindre le serveur !**`
  159. ]
  160. let rslt = Math.floor((Math.random() * rps.length));
  161. if(Guild_Data.get(`${server}.welcomeChannel.status`) === "Oui"){
  162. let channel_ = Guild_Data.get(`${server}.welcomeChannel.channelID`)
  163. var joinEmbed = new MessageEmbed()
  164. .setColor("#008000")
  165. .setDescription(`<a:join:616197720956338176> ${rps[rslt]}`)
  166. try {
  167. client.channels.get(channel_).send(joinEmbed)
  168. } catch(e) {
  169. console.log(`Permissions insuffisantes.`)
  170. }
  171. }
  172.  
  173. // SYSTEME DE ROLE AUTOMATIQUE
  174. if(Guild_Data.get(`${server}.autoRole.status`) === "Oui"){
  175. let role_ = Guild_Data.get(`${server}.autoRole.roleID`)
  176. if(member.guild.me.roles.highest.comparePositionTo(role_) <= 0) return console.log(`Permissions inssufisantes.`)
  177. if(!member.guild.me.hasPermission("MANAGE_ROLES")) return console.log(`Permissions inssufisantes.`)
  178. member.roles.add(role_)
  179. }
  180. // SYSTÈME DE BIENVENUE EN PRIVÉ
  181. if(Guild_Data.get(`${server}.welcomePrivateMessage.status`) === "Oui"){
  182. let hex = Guild_Data.get(`${server}. welcomePrivateMessage.couleur}`)
  183. if(!hex) {
  184. hex === `RANDOM`
  185. }
  186. let welcomePrivateMessageMessage = Guild_Data.get(`${server}.welcomePrivateMessage.msg`)
  187. var msgEmbed = new MessageEmbed()
  188. .setColor(`${hex}`)
  189. .setDescription(`${welcomePrivateMessageMessage}`)
  190. await member.send(msgEmbed).catch(err => {
  191. if(err) {
  192. console.log(`Permissions inssufisantes`)
  193. }
  194. })
  195. }
  196.  
  197. // SYSTEME RAIDMOD
  198. if(Guild_Data.get(`${server}.raidMod`) === "Oui"){
  199. if(!member.guild.me.hasPermission("KICK_MEMBERS")) return console.log(`Permissions inssufisantes.`)
  200. try {
  201. 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}\`).**`)
  202. } catch(e) {
  203. console.log(`Permissions insuffisantes.`)
  204. }
  205. await member.kick();
  206. }
  207. });
  208.  
  209. client.on('guildMemberRemove', async member => {
  210. let server = member.guild.id
  211. if(Guild_Data.get(`${server}.welcomeChannel.status`) === "Oui"){
  212. let channel_ = Guild_Data.get(`${server}.welcomeChannel.channelID`)
  213. var leaveEmbed = new MessageEmbed()
  214. .setColor("#FF0000")
  215. .setDescription(`<a:leave:616197734978027520> ${member.user.username} vient de quitter le serveur. Nous sommes maintenant ${member.guild.memberCount} membres dans le serveur !`)
  216. try {
  217. client.channels.get(channel_).send(leaveEmbed)
  218. } catch(e) {
  219. console.log(`Permissions insuffisantes.`)
  220. }
  221. }
  222. })
  223.  
  224. client.on('message', message => {
  225. const botMention = new RegExp(`^<@!?${client.user.id}>( |)$`);
  226. if (message.content.match(botMention)) {
  227. return message.channel.send(`**:information_source: Bonjour, Faites \`f/help\`\ pour visualiser ma page d'aide.**`);
  228. }
  229. });
  230.  
  231. client.on("message", message => {
  232. if(message.author.bot) return;
  233.  
  234. if(!message.channel.permissionsFor(client.user).has("SEND_MESSAGES")) return;
  235.  
  236. let prefix = "f/";
  237.  
  238. if(!message.content.startsWith(prefix)) return;
  239.  
  240. let messageArray = message.content.split(" ");
  241. let cmd = messageArray[0];
  242. let args = messageArray.slice(1);
  243.  
  244. let commandfile = client.commands.get(cmd.slice(prefix.length));
  245. if(commandfile){
  246. if(!message.channel.permissionsFor(client.user).has("EMBED_LINKS")) return message.channel.send("**:x: Il me faut la permission `EMBED_LINKS`**");
  247. commandfile.run(client, message, args);
  248. }
  249. if(message.content.indexOf(prefix) !== 0) return;
  250.  
  251. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement