Advertisement
ANOX_

Discord : index.js

Aug 12th, 2018
2,913
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require("discord.js"),
  2. client = new Discord.Client(),
  3. weather = require("weather-js"),
  4. token = "NDM4NjkyOTA3MjMxMjE1NjM3.DcIUQw.5yGphque6sgjbAioFnaVPA0v-g4";
  5. Wiki = require("wikijs"),
  6. express = require("express"),
  7. app = express(),
  8. yt = require("./youtube_plugin"),
  9. youtube_plugin = new yt(),
  10. AuthDetails = require("./auth.json"),
  11. Music = require("./Music.js"),
  12. functionHelper = require('./functionHelpers.js'),
  13. ffmpeg = require("ffmpeg"),
  14. search = require('youtube-search'),
  15. music = new Music(),
  16. con = console.log,
  17. prefix = "!";
  18. const randomWordFR = require('random-word-fr');
  19. var moment = require("moment");
  20. var mention = "<@363514380190744577>";
  21. const opts = {
  22.   maxResults: 3,
  23.   key: AuthDetails.youtube_api_key
  24. };
  25. client.on("ready", () => {
  26. var memberCount = client.users.size;
  27. var servercount = client.guilds.size;
  28.     var servers = client.guilds.array().map(g => g.name).join(',');
  29.     con("--------------------------------------");
  30. con('[!]Connexion en cours... \n[!]Veuillez Patienté! \n[!]Les évenement sont après ! :)  \n[!]Les préfix actuelle:  ' + prefix + "\n[!]Mentions = " + mention + "\n[!]Nombre de membres: " + memberCount + "\n[!]Nombre de serveurs: " + servercount);
  31. client.user.setGame("la marèle & toi ?");
  32. client.user.setStatus("dnd");
  33. });
  34.  
  35. client.on('message', message => {
  36.    music.setVoiceChannel(message.guild.channels.find("name", "• Music"));
  37.     var array_msg = message.content.split(' ');
  38.             messages.send(message);
  39.             switch (array_msg[0]) {
  40.         case (prefix +"play") :
  41.             con("Play");
  42.             message.delete(message.author);
  43.             if (!music.getVoiceChannel()) return message.reply("Veuillez vous connectez en vocal !");
  44.             if (music.getTab(0) == null) return message.reply('Aucune musique, merci d\' en ajouté.');
  45.             else music.voice();
  46.             break;
  47.         case (prefix +"pause") :
  48.             con("Pause");
  49.             message.delete(message.author);
  50.             if (!music.getVoiceChannel()) return message.reply("Veuillez vous connectez en vocal !");
  51.             if (music.getTab(0) == null) return message.reply('Aucune musique, merci d\' en ajouté.');
  52.             music.pause();
  53.             break;
  54.         case (prefix + "resume") :
  55.             con("Resume");
  56.             message.delete(message.author);
  57.             if (!music.getVoiceChannel()) return message.reply("Veuillez vous connectez en vocal !");
  58.             if (music.getTab(0) == null) return message.reply('Aucune musique, merci d\' en ajouté.');
  59.             music.resume();
  60.             break;
  61.         case (prefix + "stop") :
  62.             con("Stop");
  63.             message.delete(message.author);
  64.             if (!music.getVoiceChannel()) return message.reply("Veuillez vous connectez en vocal !");
  65.             if (music.getTab(0) == null) return message.reply('Aucune musique, merci d\' en ajouté.');
  66.             else music.stop();
  67.             message.reply("La queue à était vidé !");
  68.             break;
  69.         case (prefix +"add") :
  70.             con("Add");
  71.             message.delete(message.author);
  72.             var link = msgc.split(' ');
  73.             link.shift();
  74.             link = link.join(' ');
  75.             search(link, opts, function(err, results) {
  76.                 if(err) return con(err);
  77.                 for (var y = 0; results[y].kind == 'youtube#channel'; y++);
  78.                 message.channel.sendMessage(results[y].link);
  79.                 music.setTabEnd(results[y].link);
  80.             });
  81.             break;
  82.         case (prefix +"link") :
  83.             con("Link");
  84.             message.delete(message.author);
  85.             var link = msgc.split(' ');
  86.             link.shift();
  87.             link = link.join(' ');
  88.             con(link);
  89.             music.setTabEnd(link);
  90.             break;
  91.         case (prefix +"volume") :
  92.             con("Volume");
  93.             message.delete(message.author);
  94.             var link = msgc.split(' ');
  95.             link.shift();
  96.             link = link.join(' ');
  97.             music.volume(link/100);
  98.             message.reply("le volume et maintenant à :" + link);
  99.             break;
  100.         case (prefix +"next") :
  101.             con("Next");
  102.             message.delete(message.author);
  103.             if (music.getI() < music.getLengthTab()) music.setI(this.i + 1);
  104.             if (music.getI() >= music.getLengthTab()) music.setI(0);
  105.             music.next();
  106.             break;
  107.     }   if (msgc === ("test")){
  108.     message.reply('test !');
  109. }else if (msgc.startsWith(prefix +"smk")){
  110.     message.delete(message.author);
  111.     var say = msgc.substr(5);
  112.     message.reply(say);
  113. }
  114.  
  115.     else if (msgc === (prefix + "channel")){
  116.     const data = client.channels.get(message.channel.id);
  117.     moment.locale("fr");
  118.     var temps = moment(data.createdTimestamp).format("LLLL");
  119.     con(temps)
  120.     message.reply("\n" + "```javascript"+ "\n" + "Nom du channel: " + data.name + "\n" + "Type de channel: " + data.type + "\n" +
  121.     "Channel id: " + data.id + "\n" + "Topic: " + data.topic + "\n" + "Créer le: " + temps + "```" );
  122.     con("\n" + "**" + "Channel id: " + data.id + "**" );
  123.     con(data);
  124.   }
  125.  
  126.  
  127.  else if (msgc === ("bonjour")){
  128.     message.reply('bonjour à toi ');
  129.     } else if (message.content === ("!smkweb")){
  130.     message.reply('http://www.teamsmk.fr ');
  131. } else if (message.content === ("!smkytb")){
  132.     message.reply('https://www.youtube.com/channel/UCw1ZDLFZnPW_V7remIDylGw ');
  133. } else if (message.content === ("!smkskype")){
  134.     message.reply('https://join.skype.com/jDkLqF609cp8 ');
  135.   } else if (message.content === ("!smkmusic")){
  136.     message.reply('https://discord.gg/9MpqsyV ');
  137. } else if (message.content === "!help") {
  138.     let m = " ";
  139.     m += 'Voici les commandes du bot :';
  140.     m += '!bonjour --> Le bot vous dit "Bonjour".';
  141.     m += '!smk +votre texte --> Le bot parle a votre place';
  142.   m += '!wiki +recherche --> Effectuer une recherche sur Wikipedia';
  143.   m += '!meteo +ville --> La meteo de France';
  144.   m += '!info --> Information sur votre profil Discord';
  145.   m += '!smkweb --> Site web de la ϨMҚ ';
  146.   m += '!smkskype --> Conversation Skype de la ϨMҚ ';
  147.   m += '!smkytb --> Chaine YouTube de la ϨMҚ ';
  148.     message.author.sendMessage(m).catch(console.log);
  149. } else if (msgc === (prefix +"stats")) {
  150.     var memberCount = client.users.size;
  151. var servercount = client.guilds.size;
  152.     let m = " ";
  153.     m += 'je suis en compagnie de '+ memberCount +' membres';
  154.     m += 'je suis présent dans '+ servercount+' serveurs \n';
  155.     message.author.sendMessage(m).catch(con);
  156. }
  157. else if (msgc.startsWith(prefix + "meteo")){
  158.     var location = msgc.substr(6);
  159.     var unit = "C";
  160.  
  161.     try {
  162.         weather.find({search: location, degreeType: unit}, function(err, data) {
  163.             if(err) {
  164.                 con(Date.now(), "DANGER", "Je ne peut pas trouvé d'information pour la méteo de " + location);
  165.                 message.reply("\n" + "Je ne peut pas trouvé d'information pour la méteo de " + location);
  166.             } else {
  167.                 data = data[0];
  168.                con("**" + data.location.name + " Maintenant : **\n" + data.current.temperature + "°" + unit + " " + data.current.skytext + ", ressentie " + data.current.feelslike + "°, " + data.current.winddisplay + " Vent\n\n**Prévisions pour demain :**\nHaut: " + data.forecast[1].high + "°, Bas: " + data.forecast[1].low + "° " + data.forecast[1].skytextday + " avec " + data.forecast[1].precip + "% de chance de precipitation.");
  169.                message.reply("\n" + "**" + data.location.name + " Maintenant : **\n" + data.current.temperature + "°" + unit + " " + data.current.skytext + ", ressentie " + data.current.feelslike + "°, " + data.current.winddisplay + " Vent\n\n**Prévisions pour demain :**\nHaut: " + data.forecast[1].high + "°, Bas: " + data.forecast[1].low + "° " + data.forecast[1].skytextday + " avec " + data.forecast[1].precip + "% de chance de precipitation.");
  170.             }
  171.         });
  172.     } catch(err) {
  173.         con(Date.now(), "ERREUR", "Weather.JS a rencontré une erreur");
  174.         message.reply("Idk pourquoi c'est cassé tbh :(");
  175.         }
  176.     }
  177. else if (msgc.startsWith(prefix + "wiki")){
  178.             if(!msgc.substr(5)) {
  179.                 con(Date.now(), "DANGER", "Vous devez fournir un terme de recherche.");
  180.                 message.reply("Vous devez fournir un terme de recherche.");
  181.                 return;
  182.             }
  183.             var wiki = new Wiki.default();
  184.             wiki.search(msgc.substr(5)).then(function(data) {
  185.                 if(data.results.length==0) {
  186.                     con(Date.now(), "DANGER","Wikipedia ne trouve pas ce que vous avez demandée : " + msgc.substr(5));
  187.                     message.reply("Je ne peut trouvé ce que vous voulez dans Wikipedia :(");
  188.                     return;
  189.                 }
  190.                 wiki.page(data.results[0]).then(function(page) {
  191.                     page.summary().then(function(summary) {
  192.                         if(summary.indexOf(" may refer to:") > -1 || summary.indexOf(" may stand for:") > -1) {
  193.                             var options = summary.split("\n").slice(1);
  194.                             var info = "Selectioné une options parmis celle-ci :";
  195.                             for(var i=0; i<options.length; i++) {
  196.                                 info += "\n\t" + i + ") " + options[i];
  197.                             }
  198.                             message.reply(info);
  199.                             selectMenu(message.channel, message.author.id, function(i) {
  200.                                 commands.wiki.process(Client, message, options[i].substring(0, options[i].indexOf(",")));
  201.                             }, options.length-1);
  202.                         } else {
  203.                             var sumText = summary.split("\n");
  204.                             var count = 0;
  205.                             var continuation = function() {
  206.                                 var paragraph = sumText.shift();
  207.                                 if(paragraph && count<3) {
  208.                                     count++;
  209.                                     message.reply(message.channel, paragraph, continuation);
  210.                                 }
  211.                             };
  212.                             message.reply("**Trouvé " + page.raw.fullurl + "**", continuation);
  213.                         }
  214.                     });
  215.                 });
  216.             }, function(err) {
  217.                 con(Date.now(), "ERREUR","Impossible de se connecté a Wikipédia");
  218.                 message.reply("Uhhh...Something went wrong :(");
  219.             });
  220.  
  221. }
  222.  
  223.             if(msgc.startsWith(prefix +"info")) {
  224.     var memberavatar = message.author.avatarURL
  225.     var membername = message.author.username
  226.        var mentionned = message.mentions.users.first();
  227.       var getvalueof;
  228.       if(mentionned){
  229.           var getvalueof = mentionned;
  230.       } else {
  231.           var getvalueof = message.author;
  232.       }
  233.  
  234.       if(getvalueof.bot == true){
  235.           var checkbot = "L'utilisateur est un bot";
  236.       } else {
  237.           var checkbot = "N'est pas un bot";
  238.       }
  239.       if(getvalueof.presence.status == 'online'){
  240.         var status = "En ligne";
  241.       }else {
  242.         var status = "Hors ligne";
  243.       }
  244.  
  245.     message.channel.sendMessage({
  246.         embed: {
  247.           type: 'rich',
  248.           description: '',
  249.           fields: [{
  250.             name: 'Pseudo',
  251.             value: getvalueof.username,
  252.             inline: true
  253.           }, {
  254.             name: 'User id',
  255.             value: getvalueof.id,
  256.             inline: true
  257.           },{
  258.             name: 'Discriminateur',
  259.             value: getvalueof.discriminator,
  260.             inline: true
  261. },{
  262.             name: 'Status',
  263.             value: status,
  264.             inline: true
  265. },{
  266.             name: 'Bot',
  267.             value: checkbot,
  268.             inline: true
  269. }],
  270.         image: {
  271.       url: getvalueof.avatarURL
  272.         },
  273.           color: 0xE46525,
  274.           footer: {
  275.             text: 'by スアン | (•̪●)',
  276.             proxy_icon_url: ' '
  277.           },
  278.  
  279.           author: {
  280.             name: membername,
  281.             icon_url: memberavatar,
  282.             proxy_icon_url: ' '
  283.           }
  284.         }
  285. });
  286. }
  287.   else if(message.content.startsWith(prefix +'kick')){
  288.             let modRole = message.guild.roles.find("name", "Mod");
  289. if(!message.member.roles.has(modRole.id)) {
  290.   return message.channel.sendMessage("", {embed: {
  291.           title: "Erreur:",
  292.           color: 0xff0000,
  293.           description: " :no_entry_sign: Vous n'avez pas la permissions d'utiliser cette commande ! :no_entry_sign: ",
  294.           footer: {
  295.             text: "Message par スアン | (•̪●)."
  296.           }
  297.         }}).catch(console.error);
  298.       }
  299.     if(!message.guild.roles.exists("name", "Mod")) {
  300.         return  message.channel.sendMessage("", {embed: {
  301.           title: "Erreur:",
  302.           color: 0xff0000,
  303.           description: " :no_entry_sign: Le rôle **Mod** n'existe pas dans ce serveur veuillez le créer pour Kick! :no_entry_sign: ",
  304.           footer: {
  305.             text: "Message par スアン | (•̪●)."
  306.           }
  307.         }}).catch(console.error);
  308.       }
  309. if(message.mentions.users.size === 0) {
  310.   return message.channel.sendMessage("", {embed: {
  311.           title: "Erreur:",
  312.           color: 0xff0000,
  313.           description: " :no_entry_sign: Merci de spécifié l'utilisateur que vous voulez Kick. **Format ~> `!kick @mention`** ! :no_entry_sign: ",
  314.           footer: {
  315.             text: "Message par スアン | (•̪●)."
  316.           }
  317.         }}).catch(console.error);
  318. }
  319. let kickMember = message.guild.member(message.mentions.users.first());
  320. if(!kickMember) {
  321.   return message.channel.sendMessage("", {embed: {
  322.           title: "Erreur:",
  323.           color: 0xff0000,
  324.           description: " :x:  L\'utilisateur que vous avez entré n'est pas valide ! :x:",
  325.           footer: {
  326.             text: "Message par スアン | (•̪●)."
  327.           }
  328.         }}).catch(console.error);
  329. }
  330. if(!message.guild.member(client.user).hasPermission("KICK_MEMBERS")) {
  331.   return message.reply("Je n'ai pas la permissions ** __(KICK_MEMBERS)__ **!").catch(console.error);
  332. }
  333.          if(!message.guild.channels.exists("name", "admin-logs")){
  334. // créer le channel
  335. message.guild.createChannel('admin-logs');
  336. // Affiche un message d'erreur expliquant que le channel n'existait pas
  337. return message.channel.sendMessage("", {embed: {
  338. title: "Erreur:",
  339. color: 0xff0000,
  340. description: " :no_entry_sign: Le salon textuel `admin-logs` n'existait pas, je viens de le créer pour vous :white_check_mark: , Veuillez réessayer :wink:",
  341. footer: {
  342. text: "Message par スアン | (•̪●)."
  343. }
  344. }}).catch(console.error);
  345. }
  346. kickMember.kick().then(member => {
  347.     message.channel.sendMessage("", {embed: {
  348.           title: "Succès :white_check_mark:",
  349.           color: 0xff0000,
  350.           description: `${member.user.username}`+` à bien été kick`,
  351.           footer: {
  352.             text: "Message par スアン | (•̪●)."
  353.           }
  354.         }}).catch(console.error);
  355. }).then(message.guild.channels.find('name','admin-logs').sendMessage({
  356.         embed: {
  357.           type: 'rich',
  358.           description: '',
  359.           fields: [{
  360.             name: '**L\'utilisateur <~>**',
  361.             value: kickMember.user.username,
  362.             inline: true
  363.           }, {
  364.             name: 'User id',
  365.             value: kickMember.id,
  366.             inline: true
  367.           },{
  368.             name: '**Action <~>**',
  369.             value: "Kick",
  370.             inline: true
  371. },{
  372.             name: 'Modérateur',
  373.             value: message.author.username,
  374.             inline: true
  375. }],
  376.  
  377.           color: 0xD30000,
  378.           footer: {
  379.             text: 'Moderation',
  380.             proxy_icon_url: ' '
  381.           },
  382.  
  383.           author: {
  384.             name: kickMember.user.username + "#"+ kickMember.user.discriminator,
  385.             icon_url: " ",
  386.             proxy_icon_url: ' '
  387.           }
  388.         }
  389. })).catch(console.error);
  390.         }
  391.  else if(message.content.startsWith(prefix +'ban')){
  392.             let modRole = message.guild.roles.find("name", "Mod");
  393. if(!message.member.roles.has(modRole.id)) {
  394.   return message.channel.sendMessage("", {embed: {
  395.           title: "Erreur:",
  396.           color: 0xff0000,
  397.           description: " :no_entry_sign: Vous n'avez pas la permissions d'utiliser cette commande ! :no_entry_sign: ",
  398.           footer: {
  399.             text: "Message par スアン | (•̪●)."
  400.           }
  401.         }}).catch(console.error);
  402.       }
  403.     if(!message.guild.roles.exists("name", "Mod")) {
  404.         return  message.channel.sendMessage("", {embed: {
  405.           title: "Erreur:",
  406.           color: 0xff0000,
  407.           description: " :no_entry_sign: Le rôle **Mod** n'existe pas dans ce serveur veuillez le créer pour Kick! :no_entry_sign: ",
  408.           footer: {
  409.             text: "Message par スアン | (•̪●)."
  410.           }
  411.         }}).catch(console.error);
  412.       }
  413. if(message.mentions.users.size === 0) {
  414.   return message.channel.sendMessage("", {embed: {
  415.           title: "Erreur:",
  416.           color: 0xff0000,
  417.           description: " :no_entry_sign: Merci de spécifié l'utilisateur que vous voulez Kick. **Format ~> `!ban @mention`** ! :no_entry_sign: ",
  418.           footer: {
  419.             text: "Message par スアン | (•̪●)."
  420.           }
  421.         }}).catch(console.error);
  422. }
  423. let banMember = message.guild.member(message.mentions.users.first());
  424. if(!banMember) {
  425.   return message.channel.sendMessage("", {embed: {
  426.           title: "Erreur:",
  427.           color: 0xff0000,
  428.           description: " :x:  L\'utilisateur que vous avez entré n'est pas valide ! :x:",
  429.           footer: {
  430.             text: "Message par スアン | (•̪●)."
  431.           }
  432.         }}).catch(console.error);
  433. }
  434. if(!message.guild.member(client.user).hasPermission("BAN_MEMBERS")) {
  435.   return message.reply("Je n'ai pas la permissions ** __(BAN_MEMBERS)__ **!").catch(console.error);
  436. }
  437.          if(!message.guild.channels.exists("name", "admin-logs")){
  438. // créer le channel
  439. message.guild.createChannel('admin-logs');
  440. // Affiche un message d'erreur expliquant que le channel n'existait pas
  441. return message.channel.sendMessage("", {embed: {
  442. title: "Erreur:",
  443. color: 0xff0000,
  444. description: " :no_entry_sign: Le salon textuel `admin-logs` n'existait pas, je viens de le créer pour vous :white_check_mark: , Veuillez réessayer :wink:",
  445. footer: {
  446. text: "Message par スアン | (•̪●)."
  447. }
  448. }}).catch(console.error);
  449. }
  450. banMember.kick().then(member => {
  451.     message.channel.sendMessage("", {embed: {
  452.           title: "Succès :white_check_mark:",
  453.           color: 0xff0000,
  454.           description: `${member.user.username}`+` à bien été ban`,
  455.           footer: {
  456.             text: "Message par スアン | (•̪●)."
  457.           }
  458.         }}).catch(console.error);
  459. }).then(message.guild.channels.find('name','admin-logs').sendMessage({
  460.         embed: {
  461.           type: 'rich',
  462.           description: '',
  463.           fields: [{
  464.             name: '**L\'utilisateur <~>**',
  465.             value: banMember.user.username,
  466.             inline: true
  467.           }, {
  468.             name: 'User id',
  469.             value: banMember.id,
  470.             inline: true
  471.           },{
  472.             name: '**Action <~>**',
  473.             value: "ban",
  474.             inline: true
  475. },{
  476.             name: 'Modérateur',
  477.             value: message.author.username,
  478.             inline: true
  479. }],
  480.  
  481.           color: 0xD30000,
  482.           footer: {
  483.             text: 'Moderation',
  484.             proxy_icon_url: ' '
  485.           },
  486.  
  487.           author: {
  488.             name: banMember.user.username + "#"+ banMember.user.discriminator,
  489.             icon_url: " ",
  490.             proxy_icon_url: ' '
  491.           }
  492.         }
  493. })).catch(console.error);
  494.         }
  495.         else if(message.content.startsWith(prefix +'mute')){
  496.             let modRole = message.guild.roles.find("name", "Mod");
  497.     if(!message.guild.roles.exists("name", "mute")) {
  498.         return  message.channel.sendMessage("", {embed: {
  499.           title: "Erreur:",
  500.           color: 0xff0000,
  501.           description: " :no_entry_sign: Le rôle **mute** n'existe pas dans ce serveur veuillez le créer pour Mute! :no_entry_sign: ",
  502.           footer: {
  503.             text: "Message par スアン | (•̪●)."
  504.           }
  505.         }}).catch(console.error);
  506.       }
  507.       if(!message.member.roles.has(modRole.id)) {
  508.         return message.channel.sendMessage("", {embed: {
  509.           title: "Erreur:",
  510.           color: 0xff0000,
  511.           description: " :no_entry_sign: Vous n'avez pas la permissions d'utiliser cette commande ! :no_entry_sign: ",
  512.           footer: {
  513.             text: "Message par スアン | (•̪●)."
  514.           }
  515.         }}).catch(console.error);
  516.       }
  517.       if(message.mentions.users.size === 0) {
  518.         return message.channel.sendMessage("", {embed: {
  519.           title: "Erreur:",
  520.           color: 0xff0000,
  521.           description: " :no_entry_sign: Merci de spécifié l'utilisateur que vous voulez mute totalment. **Format ~> `!mute @mention`** ! :no_entry_sign: ",
  522.           footer: {
  523.             text: "Message par スアン | (•̪●)."
  524.           }
  525.         }}).catch(console.error);
  526.       }
  527.       let muteMember = message.guild.member(message.mentions.users.first());
  528.       if(!muteMember) {
  529.         return message.channel.sendMessage("", {embed: {
  530.           title: "Erreur:",
  531.           color: 0xff0000,
  532.           description: " :x:  L\'utilisateur que vous avez entré n'est pas valide ! :x:",
  533.           footer: {
  534.             text: "Message par スアン | (•̪●)."
  535.           }
  536.         }}).catch(console.error);
  537.       }
  538.       if(!message.guild.member(client.user).hasPermission("MANAGE_MESSAGES")) {
  539.         return message.reply("Je n'ai pas la permissions pour faire cela __(MANAGE_MESSAGES)__ !").catch(console.error);
  540.       }
  541.          if(!message.guild.channels.exists("name", "admin-logs")){
  542. // créer le channel
  543. message.guild.createChannel('admin-logs');
  544. // Affiche un message d'erreur expliquant que le channel n'existait pas
  545. return message.channel.sendMessage("", {embed: {
  546. title: "Erreur:",
  547. color: 0xff0000,
  548. description: " :no_entry_sign: Le salon textuel `admin-logs` n'existait pas, je viens de le créer pour vous :white_check_mark: , Veuillez réessayer :wink:",
  549. footer: {
  550. text: "Message par スアン | (•̪●)."
  551. }
  552. }}).catch(console.error);
  553. }
  554. let mutedRole = message.guild.roles.find("name", "mute");
  555.     var time = 500000;
  556.     console.log(muteMember);
  557.       muteMember.addRole(mutedRole).then(member => {
  558.         message.channel.sendMessage("", {embed: {
  559.           title: "Erreur:",
  560.           color: 0xff0000,
  561.           description: " :white_check_mark:  Vous avez bien mute ** "+ muteMember + " dans le serveur "+message.guild.name  + " ! :white_check_mark: ",
  562.           footer: {
  563.             text: "Message par スアン | (•̪●)."
  564.           }
  565.         }}).then(message.guild.channels.find('name','admin-logs').sendMessage({
  566.         embed: {
  567.           type: 'rich',
  568.           description: '',
  569.           fields: [{
  570.             name: '**L\'utilisateur <~>**',
  571.             value: muteMember.user.username,
  572.             inline: true
  573.           }, {
  574.             name: 'User id',
  575.             value: muteMember.id,
  576.             inline: true
  577.           },{
  578.             name: '**Action <~>**',
  579.             value: "mute total",
  580.             inline: true
  581. },{
  582.             name: 'Modérateur',
  583.             value: message.author.username,
  584.             inline: true
  585. }],
  586.  
  587.           color: 0xD30000,
  588.           footer: {
  589.             text: 'Moderation',
  590.             proxy_icon_url: ' '
  591.           },
  592.  
  593.           author: {
  594.             name: muteMember.user.username,
  595.             icon_url: " ",
  596.             proxy_icon_url: ' '
  597.           }
  598.         }
  599. })).catch(console.error);
  600.         }
  601.         )}
  602.        else if(message.content.startsWith(prefix +'unmute')){
  603.             let modRole = message.guild.roles.find("name", "Mod");
  604.             if(!message.guild.roles.exists("name", "Mod")) {
  605.         return  message.channel.sendMessage("", {embed: {
  606.           title: "Erreur:",
  607.           color: 0xff0000,
  608.           description: " :no_entry_sign: Le rôle **Mod** n'existe pas dans ce serveur veuillez le créer pour unmute! :no_entry_sign: ",
  609.           footer: {
  610.             text: "Message par スアン | (•̪●)."
  611.           }
  612.         }}).catch(console.error);
  613.       }
  614.     if(!message.guild.roles.exists("name", "mute")) {
  615.         return  message.channel.sendMessage("", {embed: {
  616.           title: "Erreur:",
  617.           color: 0xff0000,
  618.           description: " :no_entry_sign: Le rôle **mute** n'existe pas dans ce serveur veuillez le créer pour Unmute! :no_entry_sign: ",
  619.           footer: {
  620.             text: "Message par スアン | (•̪●)."
  621.           }
  622.         }}).catch(console.error);
  623.       }
  624.       if(!message.member.roles.has(modRole.id)) {
  625.         return message.channel.sendMessage("", {embed: {
  626.           title: "Erreur:",
  627.           color: 0xff0000,
  628.           description: " :no_entry_sign: Vous n'avez pas la permissions d'utiliser cette commande ! :no_entry_sign: ",
  629.           footer: {
  630.             text: "Message par スアン | (•̪●)."
  631.           }
  632.         }}).catch(console.error);
  633.       }
  634.       if(message.mentions.users.size === 0) {
  635.         return message.channel.sendMessage("", {embed: {
  636.           title: "Erreur:",
  637.           color: 0xff0000,
  638.           description: " :no_entry_sign: Merci de spécifié l'utilisateur que vous voulez unmute totalment. **Format ~> `!unmute @mention`** ! :no_entry_sign: ",
  639.           footer: {
  640.             text: "Message par スアン | (•̪●)."
  641.           }
  642.         }}).catch(console.error);
  643.       }
  644.       let muteMember = message.guild.member(message.mentions.users.first());
  645.       if(!muteMember) {
  646.         return message.channel.sendMessage("", {embed: {
  647.           title: "Erreur:",
  648.           color: 0xff0000,
  649.           description: " :x:  L\'utilisateur que vous avez entré n'est pas valide ! :x:",
  650.           footer: {
  651.             text: "Message par スアン | (•̪●)."
  652.           }
  653.         }}).catch(console.error);
  654.       }
  655.       if(!message.guild.member(client.user).hasPermission("MANAGE_MESSAGES")) {
  656.         return message.reply("Je n'ai pas la permissions pour faire cela __(MANAGE_MESSAGES)__ !").catch(console.error);
  657.       }
  658.          if(!message.guild.channels.exists("name", "admin-logs")){
  659. // créer le channel
  660. message.guild.createChannel('admin-logs');
  661. // Affiche un message d'erreur expliquant que le channel n'existait pas
  662. return message.channel.sendMessage("", {embed: {
  663. title: "Erreur:",
  664. color: 0xff0000,
  665. description: " :no_entry_sign: Le salon textuel `admin-logs` n'existait pas, je viens de le créer pour vous :white_check_mark: , Veuillez réessayer :wink:",
  666. footer: {
  667. text: "Message par スアン | (•̪●)."
  668. }
  669. }}).catch(console.error);
  670. }
  671. let mutedRole = message.guild.roles.find("name", "mute");
  672.     var time = 500000;
  673.     console.log(muteMember);
  674.       muteMember.removeRole(mutedRole).then(member => {
  675.         message.channel.sendMessage("", {embed: {
  676.           title: "Erreur:",
  677.           color: 0xff0000,
  678.           description: " :white_check_mark:  Vous avez bien unmute ** "+ muteMember + " dans le serveur "+message.guild.name  + " ! :white_check_mark: ",
  679.           footer: {
  680.             text: "Message par スアン | (•̪●)."
  681.           }
  682.         }}).then(message.guild.channels.find('name','admin-logs').sendMessage({
  683.         embed: {
  684.           type: 'rich',
  685.           description: '',
  686.           fields: [{
  687.             name: '**L\'utilisateur <~>**',
  688.             value: muteMember.user.username,
  689.             inline: true
  690.           }, {
  691.             name: 'User id',
  692.             value: muteMember.id,
  693.             inline: true
  694.           },{
  695.             name: '**Action <~>**',
  696.             value: "unmute total",
  697.             inline: true
  698. },{
  699.             name: 'Modérateur',
  700.             value: message.author.username,
  701.             inline: true
  702. }],
  703.  
  704.           color: 0xD30000,
  705.           footer: {
  706.             text: 'Moderation',
  707.             proxy_icon_url: ' '
  708.           },
  709.  
  710.           author: {
  711.             name: muteMember.user.username,
  712.             icon_url: " ",
  713.             proxy_icon_url: ' '
  714.           }
  715.         }
  716. })).catch(console.error);
  717.         }
  718.         )}else if (message.content.startsWith(prefix +"clear")) {
  719.       let modRole = message.guild.roles.find("name", "Mod");
  720.             if(!message.guild.roles.exists("name", "Mod")) {
  721.         return  message.channel.sendMessage("", {embed: {
  722.           title: "Erreur:",
  723.           color: 0xff0000,
  724.           description: " :no_entry_sign: Le rôle **Mod** n'existe pas dans ce serveur veuillez le créer pour Clear! :no_entry_sign: ",
  725.           footer: {
  726.             text: "Message par スアン | (•̪●)."
  727.           }
  728.         }}).catch(console.error);
  729.       }
  730.       if(!message.member.roles.has(modRole.id)) {
  731.         return   message.channel.sendMessage("", {embed: {
  732.           title: "Erreur:",
  733.           color: 0xff0000,
  734.           description: " :no_entry_sign: Vous n'avez pas la permissions d'utiliser cette commande ! :no_entry_sign: ",
  735.           footer: {
  736.             text: "Message par スアン | (•̪●)."
  737.           }
  738.         }}).catch(console.error);
  739.       }
  740.     var args = message.content.substr(7);
  741.       if(args.length === 0){
  742.         message.channel.sendMessage("", {embed: {
  743.           title: "Erreur:",
  744.           color: 0xff0000,
  745.           description: " :x: Vous n'avez pas précisser le nombre :x: ",
  746.           footer: {
  747.             text: "Message par スアン | (•̪●)."
  748.           }
  749.         }});
  750.       }
  751.       else {
  752.         var msg;
  753.         if(args.length === 1){
  754.         msg = 2;
  755.       } else {
  756.         msg = parseInt(args[1]);
  757.       }
  758.       message.channel.fetchMessages({limit: msg}).then(messages => message.channel.bulkDelete(messages)).catch(console.error);
  759.       message.channel.sendMessage("", {embed: {
  760.         title: "Success!",
  761.         color: 0x06DF00,
  762.         description: "Messages Suprimé!",
  763.         footer: {
  764.           text: "Message par スアン | (•̪●)."
  765.         }
  766.       }});
  767.       }
  768. }
  769. else if (msgc.startsWith('!youtube')){
  770. youtube_plugin.respond(message.content, message.channel , client);
  771. }else if (msgc.startsWith(prefix +'google')){
  772. const google = require("google");
  773. const unirest = require("unirest");
  774.  
  775.   if(msgc.substr(8)) {
  776.     let query = msgc.substr(8);
  777.       con(query);
  778.     let num = (msgc.substr(8).lastIndexOf(" ") + 1);
  779.     if(!query || isNaN(num)) {
  780.       query = msgc.substr(8);
  781.       num = 0;
  782.     }
  783.     if(num < 0 || num > 2) {
  784.       num = 0;
  785.     } else {
  786.       num = parseInt(num);
  787.     }
  788.     unirest.get(`https://kgsearch.googleapis.com/v1/entities:search?query=${encodeURIComponent(query)}&key=${AuthDetails.youtube_api_key}&limit=1&indent=True`).header("Accept", "application/json").end(res => {
  789.       const doSearch = () => {
  790.         google(query, (err, res) => {
  791.           if(err || res.links.length == 0) {
  792.             message.channel.sendMessage("🙅 No results!");
  793.           } else {
  794.             const results = [];
  795.             if(num == 0) {
  796.               num = 1;
  797.             }
  798.             for(let i=0; i < Math.min(res.links.length, num); i++) {
  799.               if([`News for ${query}`, `Images for ${query}`].indexOf(res.links[i].title)>-1) {
  800.                 res.links.splice(i, 1);
  801.                 i--;
  802.                 continue;
  803.               }
  804.           message.channel.sendMessage({
  805.         embed: {
  806.           type: 'rich',
  807.           description: '',
  808.           fields: [{
  809.             name: 'Result Google',
  810.             value: `[${res.links[i].title}](`+`${res.links[i].href})`,
  811.             inline: true
  812.           },{
  813.             name: '** **',
  814.             value: `${res.links[i].description}`,
  815.             inline: true
  816.           }],
  817.            thumbnail: {
  818.              url: "http://diylogodesigns.com/blog/wp-content/uploads/2016/04/google-logo-icon-PNG-Transparent-Background.png"
  819.                 },
  820.           color: 3447003,
  821.           footer: {
  822.             text: 'by スアン | (•̪●)',
  823.             proxy_icon_url: ' '
  824.           }
  825.         }
  826. });
  827.             }
  828.  
  829.           }
  830.         });
  831.       };
  832.  
  833.       if(res.status == 200 && res.body.itemListElement[0] && res.body.itemListElement[0].result && res.body.itemListElement[0].result.detailedDescription) {
  834.         message.channel.sendMessage(`\`\`\`${res.body.itemListElement[0].result.detailedDescription.articleBody}\`\`\`<${res.body.itemListElement[0].result.detailedDescription.url}>`).then(() => {
  835.           if(num > 0) {
  836.             doSearch();
  837.           }
  838.         });
  839.       } else {
  840.         doSearch();
  841.       }
  842.     });
  843.   } else {
  844.     con(`Parameters not provided for !google command`);
  845.     message.channel.sendMessage(` ❓❓❓`);
  846.   }
  847. }else if (msgc.startsWith(prefix +'imdb')){
  848. const unirest = require("unirest");
  849.  
  850. let  query = msgc.substr(6);
  851.   let type = "";
  852.   if(query.toLowerCase().indexOf("series ")==0 || query.toLowerCase().indexOf("episode ")==0 || query.toLowerCase().indexOf("movie ")==0) {
  853.     type = `&type=${query.substring(0, query.indexOf(" ")).toLowerCase()}`;
  854.     query = query.substring(query.indexOf(" ")+1);
  855.   }
  856.   if(query) {
  857.     unirest.get(`http://www.omdbapi.com/?t=${encodeURIComponent(query)}&r=json${type}`).header("Accept", "application/json").end(res => {
  858.       if(res.status==200 && res.body.Response=="True") {
  859.         message.channel.sendMessage({
  860.                   embed: {
  861.           type: 'rich',
  862.           description: '',
  863.           fields: [{
  864.             name: 'Results Imdb :film_frames:',
  865.             value:  `[${res.body.Title}${type ? "" : (` (${res.body.Type.charAt(0).toUpperCase()}${res.body.Type.slice(1)})`)}](http://www.imdb.com/title/${res.body.imdbID}/)`,
  866.             inline: false
  867.           },{
  868.             name: '** **',
  869.             value:  `\`\`\`${res.body.Plot}\`\`\``,
  870.             inline: false
  871.           },{
  872.             name: 'Year',
  873.             value:  `${res.body.Year}`,
  874.             inline: true
  875.           },{
  876.             name: 'Rated',
  877.             value:  `${res.body.Rated}`,
  878.             inline: true
  879.           },{
  880.             name: 'Runtime',
  881.             value:  `${res.body.Runtime}`,
  882.             inline: true
  883.           },{
  884.             name: 'Director',
  885.             value:  `${res.body.Director}`,
  886.             inline: true
  887.           },{
  888.             name: 'Writer',
  889.             value:  `${res.body.Writer}`,
  890.             inline: true
  891.           },{
  892.             name: 'Actors',
  893.             value:  `${res.body.Actors}`,
  894.             inline: true
  895.           },{
  896.             name: 'Genre(s)',
  897.             value:  `${res.body.Genre}`,
  898.             inline: false
  899.           },{
  900.             name: 'Rating',
  901.             value:  `${res.body.imdbRating} out of ${res.body.imdbVotes} votes`,
  902.             inline: true
  903.           },{
  904.             name: 'Awards',
  905.             value:  `${res.body.Awards}`,
  906.             inline: true
  907.           },{
  908.             name: 'Country',
  909.             value:  `${res.body.Country}`,
  910.             inline: true
  911.           }],
  912.           color: 3447003,
  913.           footer: {
  914.             text: 'by スアン | (•̪●)',
  915.             proxy_icon_url: ' '
  916.           },
  917.            author: {
  918.             name: message.author.username,
  919.             icon_url: message.author.avatarURL,
  920.             proxy_icon_url: ' '
  921.           }
  922.         }
  923.         })
  924.       } else {
  925.         con(`No IMDB entries found for ` + msgc.substr(6));
  926.         message.channel.sendMessage("Nothing found in IMDB 😶🚫");
  927.       }
  928.     });
  929.   } else {
  930.     message.channel.sendMessage(`U WOT M8... you need to use !imdb name film`);
  931.   }
  932. }else if (msgc === (prefix +'dog')){
  933. const randomPuppy = require("random-puppy");
  934.  
  935.       randomPuppy().then(url => {
  936.         message.channel.sendMessage({
  937.             embed: {
  938.                 author: {
  939.                     name: client.user.username,
  940.                     icon_url: client.user.avatarURL,
  941.                     url: "http://takohell.com:3000"
  942.                 },
  943.                 color: 0x00FF00,
  944.                 image: {
  945.                     url: url
  946.                 }
  947.             }
  948.         });
  949.     });
  950. }
  951.  
  952. });
  953.  
  954. app.get('/', function (req, res) {
  955.     var obj = new Object();
  956.     obj.test = "Test moi";
  957.     obj.rep = "test réussi !";
  958.     var json = JSON.stringify(obj);
  959.     res.send(json);
  960. });
  961.  
  962. app.get('/playlist', function (req, res) {
  963.     var json = JSON.stringify(music.tab);
  964.     res.send(json);
  965. });
  966.  
  967. app.listen(AuthDetails.port);
  968. client.login(token)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement