gaber-elsayed

Untitled

Feb 1st, 2020
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.21 KB | None | 0 0
  1. const Discord = require('discord.js');
  2. let cooldown = new Set();
  3.  
  4. var superagent = require('superagent');
  5. const fs = require('fs');
  6. //const noykou = require('noykou')
  7. //const giveaways = require("discord-giveaways"),
  8. //allGiveaways = giveaways.fetch();
  9. //let onServer = allGiveaways.filter((g) => g.guildID === "1909282092");
  10. //let notEnded = allGiveaways.filter((g) => !g.ended);
  11. const { TOKEN, GOOGLE_API_KEY, PREFIX } = require('./config');
  12.  
  13. const prefix = PREFIX;
  14. const client = new Discord.Client({
  15. disableEveryone: true
  16. });
  17. const blacklist = JSON.parse(fs.readFileSync("./blacklist.json", "utf8"));
  18. const warns = JSON.parse(fs.readFileSync("./warns.json", "utf8"))
  19. //const YouTube = require('simple-youtube-api');
  20. //const economy = JSON.parse(fs.readFileSync("./economy.json", "utf8"))
  21. //const hastebin = require('hastebin-gen');
  22. const moment = require('moment');
  23. require('moment-duration-format');
  24. moment.locale('fr');
  25. const ms = require('ms');
  26. //const youtube = new YouTube(GOOGLE_API_KEY);
  27. //const ytdl = require('ytdl-core');
  28. const queue = {};
  29. var owner = client.users.find("id", "352037237443002368")
  30. var coowner = client.users.find("id", "490220102650953729")
  31. const path = require('path')
  32.  
  33. client.commands = new Discord.Collection();
  34. client.aliases = new Discord.Collection();
  35.  
  36. fs.readdir("./commands/", (error, f) => {
  37. if(error) console.log(error);
  38.  
  39. let commandes = f.filter(f => f.split(".").pop() === "js");
  40. if(commandes.length <= 0) return console.log("Aucune commande trouvée !");
  41.  
  42. commandes.forEach((f) => {
  43. let commande = require(`./commands/${f}`);
  44. console.log(`${f} loaded !`);
  45.  
  46. client.commands.set(commande.help.name, commande);
  47. });
  48. });
  49.  
  50. fs.readdir("./events", (err, files) => {
  51. //Si erreur, on la retourne pour ne pas empêcher le bon fonctionnement du bot
  52. if(err) {
  53. return console.error(err);
  54. };
  55.  
  56. //Si aucun fichier présent dans le dossier, un avertissement s'affiche
  57. if(files.length <= 0) {
  58. return console.log("Aucun événement trouvé dans le dossier...");
  59. };
  60.  
  61. //Chargement des events un par un
  62. files.forEach((evt) => {
  63. //Si le fichier ne se termine pas par .js, on retourne pour éviter les erreurs
  64. if(!evt.endsWith(".js")) return;
  65.  
  66. console.log(`${evt} loaded!`);
  67. //On définit les events
  68. const events = require(`./events/${evt}`);
  69. const event = evt.split(".")[0];
  70.  
  71. //Exécution des events
  72. client.on(event, events.bind(null, client));
  73. });
  74.  
  75. //Information, les events se chargent
  76. console.log("Les événements ont été chargés avec succès !");
  77. });
  78.  
  79.  
  80. client.on('message', message => {
  81. if(message.author.bot) return;
  82.     if(message.channel.type === "dm") return;
  83.  
  84. let prefix = PREFIX
  85. if(!message.content.startsWith(prefix)) return;
  86.     let messageArray = message.content.split(" ");
  87.     let cmd = messageArray[0];
  88.     let args = messageArray.slice(1)
  89.  
  90. let commandfile = client.commands.get(cmd.slice(prefix.length));
  91.     if(commandfile) commandfile.run(client, message, args);
  92.     if(message.content.indexOf(prefix) !== 0) return;
  93. })
  94.  
  95.  
  96.  
  97.  
  98. client.login(TOKEN)
  99.  
  100. console.log('Connexion en cours...')
  101.  
  102. client.on('ready', function () {
  103.  
  104. /*giveaways.launch(client, {
  105. updateCountdownEvery: 5000,
  106. botsCanWin: false,
  107. ignoreIfHasPermission: [
  108. "MANAGE_MESSAGES",
  109. "MANAGE_GUILD",
  110. "ADMINISTRATOR"
  111. ],
  112. embedColor: "#36393f",
  113. reaction: "??"
  114. });*/
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121. console.log("Bot on !")
  122. client.user.setPresence({game: {name : `d/help | VOTRE PROTECTION | V 1.2 <${client.guilds.size}s>, <${client.users.size}u>`}}, {type: "STREAM"})
  123. client.user.setPresence({status: 'dnd'})
  124.  
  125. console.log(`
  126.  
  127. ???????????????????????????????????
  128.  
  129. ?--> Bot Name : ${client.user.username}
  130.  
  131. ???????????????????????????????????
  132.  
  133. ?--> Bot Id : ${client.user.id}
  134.  
  135. ???????????????????????????????????
  136.  
  137. ?--> Prefix : ${prefix}
  138.  
  139. ???????????????????????????????????
  140.  
  141. ?--> Users : ${client.users.size}
  142.  
  143. ???????????????????????????????????
  144.  
  145. ?--> Channels : ${client.channels.size}
  146.  
  147. ???????????????????????????????????
  148.  
  149. ?--> Guilds : ${client.guilds.size}
  150.  
  151. ???????????????????????????????????`);
  152.  
  153.  
  154.  
  155.  
  156.  
  157. client.on("guildCreate", guild => {
  158. guild.owner.send(`**:flag_cp: Merci de m'avoir ajouté ! Si vous avez besoin d'un salon de logs, vous devez créer un salon nommé : \`viperprotection-logs\`, ces logs serviront si il y a des personnes dans la liste noir, si oui ils seront auto-banni par le bot, merci de ne pas changer le nom de ce channel ! Si question n'hésiter pas à rejoindre le support et le staff va vous accueillir avec gentillesse, pour voir les commande faite d/help !
  159.  
  160. Lien : https://discord.gd/HatyNvg
  161.  
  162. :flag_gb: Thank you for adding me ! If you need a log channel, you need to create a channel named: \`viperprotection-logs \`, these logs will be used if there are people in the blacklist, if yes they will be self-banned by the bot, thank to not change the title of the channel ! If question do not hesitate to join the support and the staff will welcome you with kindness, to see the order made g / help !
  163.  
  164. Link : https://discord.gd/HatyNvg**`)
  165. });
  166.  
  167.  
  168.  
  169. client.on("guildMemberAdd", member => {
  170. let blacklist = JSON.parse(fs.readFileSync("./blacklist.json", "utf8"))
  171.  
  172.  
  173.  
  174.  
  175. //partie protéction
  176. if(blacklist[member.id]) {
  177. member.ban(`Membre blacklist par notre bot, Raison : ${blacklist[member.id].reason}`)
  178. var embed = new Discord.RichEmbed()
  179. .setColor("#36393f")
  180. .setTitle("**MEMBER BAN**")
  181. .setDescription("**" + member.id+"("+member.user+`), a été auto-banni de votre serveur car cet utilisateur est dans notre liste noir <:emoji_52:571694275612377088>
  182.  
  183.  
  184. <:emoji_35:571650753131970564> Raison du blacklist :
  185. \`${blacklist[member.id].reason}\`
  186. **`)
  187. .setTimestamp()
  188. .setFooter("© 2018-2019 ViperProtection", client.user.displayAvatarURL)
  189. member.guild.owner.createDM().then(chan => chan.send(embed))
  190.  
  191. try{
  192. var channel = member.guild.channels.find("name", "viperprotection-logs")
  193. var embede = new Discord.RichEmbed()
  194. .setColor("RED")
  195. .setTitle("Logs blacklist !")
  196. .setDescription("**" + member.user+ `, A été auto-banni du serveur car cet utilisateur est dans notre liste noir ! Nous vous protégons <:emoji_52:571694275612377088> !
  197.  
  198. <:emoji_35:571650753131970564> Raison du blacklist :
  199. \`${blacklist[member.id].reason}\`
  200. **`)
  201. .setTimestamp()
  202. .setFooter("© 2018-2019 ViperProtection V 1.2", client.user.displayAvatarURL)
  203.  
  204. channel.send(embede)
  205. }catch(e){console.log("[ERROR]",e)}
  206. }
  207. })
  208. })
  209.  
  210.  
  211. client.on('message', message => {
  212. if(message.author.bot) return;
  213. const botMention = new RegExp(`^<@!?${client.user.id}>( |)$`);
  214. if (message.content.match(botMention)) {
  215. return message.channel.send(`**Hey, si tu ne connais pas encore mon prefix, c'est __\`${prefix}\`__ ! La prochaine fois ne me mentionne pas et regarde mon statut ;)**`);
  216. }
  217.  
  218. })
  219.  
  220. client.on("guildMemberAdd", member => {
  221. let blacklist = JSON.parse(fs.readFileSync("./blacklist.json", "utf8"))
  222.  
  223.  
  224.  
  225.  
  226. //partie protéction
  227. if(blacklist[member.id]) {
  228. member.ban(`Membre blacklist par notre bot, Raison : ${blacklist[member.id].reason}`)
  229. var embed = new Discord.RichEmbed()
  230. .setColor("#36393f")
  231. .setTitle("**MEMBER BAN**")
  232. .setDescription("**" + member.id+"("+member.user+`), a été auto-banni de votre serveur car cet utilisateur est dans notre liste noir <:emoji_52:571694275612377088>
  233.  
  234.  
  235. <:emoji_35:571650753131970564> Raison du blacklist :
  236. \`${blacklist[member.id].reason}\`
  237. **`)
  238. .setTimestamp()
  239. .setFooter("© 2018-2019 ViperProtection", client.user.displayAvatarURL)
  240. member.guild.owner.createDM().then(chan => chan.send(embed))
  241.  
  242. try{
  243. var channel = member.guild.channels.find("name", "viperprotection-logs")
  244. var embede = new Discord.RichEmbed()
  245. .setColor("RED")
  246. .setTitle("Logs blacklist !")
  247. .setDescription("**" + member.user+ `, A été auto-banni du serveur car cet utilisateur est dans notre liste noir ! Nous vous protégons <:emoji_52:571694275612377088> !
  248.  
  249. <:emoji_35:571650753131970564> Raison du blacklist :
  250. \`${blacklist[member.id].reason}\`
  251. **`)
  252. .setTimestamp()
  253. .setFooter("© 2018-2019 ViperProtection V 1.2", client.user.displayAvatarURL)
  254.  
  255. channel.send(embede)
  256. }catch(e){console.log("[ERROR]",e)}
  257. }
  258. })
Advertisement
Add Comment
Please, Sign In to add comment