Advertisement
kev19052003

Untitled

Sep 8th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.49 KB | None | 0 0
  1. const Discord = require('discord.js');
  2.  
  3. const client = new Discord.Client();
  4.  
  5. var prefix = "+";
  6.  
  7. const ytdl = require('ytdl-core');
  8.  
  9. const queue = new Map();
  10.  
  11. var servers = {};
  12.  
  13. client.login('NDg0NjY5MzEwOTc2MDAwMDEx.Dmrggw.Xc4a3qfDFlyaLLg3F_U8pTgn_E0');
  14.  
  15. function play(connection, message) {
  16.  
  17. var server = servers[message.guild.id];
  18.  
  19. server.dispatcher = connection.playStream(ytdl(server.queue[0], {filter: "audioonly"}));
  20.  
  21. server.queue.shift();
  22.  
  23. server.dispatcher.on("end", function() {
  24. if (server.queue[0]) play(connection, message);
  25.  
  26. else connection.disconnect();
  27.  
  28. });
  29. }
  30.  
  31. client.on("ready", () => {
  32.  
  33. console.log("Je suis prêt !");
  34. client.user.setGame(" +help | Bot Perso");
  35.  
  36. });
  37.  
  38. client.on('message', message => {
  39.  
  40. if(message.content === "Bonjour"){
  41. message.reply("Wesh, bien ou quoi ?");
  42. console.log('Le bot dit bonjour');
  43. }
  44.  
  45.  
  46. if(message.content === prefix + "help") {
  47. var aide_embed = new Discord.RichEmbed()
  48. .setColor('RANDOM')
  49. .setTitle(`:robot: Voici mes catégories d'aide !`)
  50. .setDescription(`Voici mes commandes disponible :`)
  51. .setThumbnail(message.author.avatarURL)
  52. .addField(":tools: modération", "Fais `+modération` pour voir mes commandes de modération !")
  53. .addField(":tada: Fun", "Fais `+fun` pour voir mes commandes d'animation !")
  54. .setFooter("Menu d'aide - BOT PERSO")
  55. .setTimestamp()
  56. message.channel.send(aide_embed);
  57. }
  58.  
  59. if(message.content === prefix + "modération") {
  60. var mod_embed = new Discord.RichEmbed()
  61. .setColor('RANDOM')
  62. .setTitle(`:tools: Voici mes commandes modérations !`)
  63. .setThumbnail(message.author.avatarURL)
  64. .addField("+kick <@user>", "Kick l'utilisateur !")
  65. .addField("+ban <@user>", "Ban l'utilisateur !")
  66. .addField("+clear nombre", "Supprime le nombre de messages indiqué")
  67. .addField("+mute <@user>", "Mute l'utilisateur mentionné")
  68. .addField("+unmute <@user>", "Unmute l'utilisateur mentionné")
  69. .addField("+warns @le_nom", "warn l'utilisateur !")
  70. .addField("+seewarns @le_nom", "voir les warns de la personne")
  71. .addField("+deletewarns @le_nom [le numéro du warn]", "Supprime le warn voulu")
  72. .setFooter("Commande modération - BOT PERSO")
  73. .setTimestamp()
  74. message.channel.send(mod_embed);
  75. }
  76.  
  77. if(message.content === prefix + "fun") {
  78. var fun_embed = new Discord.RichEmbed()
  79. .setColor('RANDOM')
  80. .setTitle(`:tools: Voici mes commandes amusantes !`)
  81. .setThumbnail(message.author.avatarURL)
  82. .addField("Bonjour", "Le bot répond !")
  83. .addField("+stats", "Le bot vous envoie des informations sur votre profil !")
  84. .addField("+info", "Donne des informations sur le bot et le serveur !")
  85. .setFooter("Commande fun - BOT PERSO")
  86. .setTimestamp()
  87. message.channel.send(fun_embed);
  88. }
  89.  
  90. if (!message.content.startsWith(prefix)) return;
  91.  
  92. var args = message.content.substring(prefix.length).split(" ");
  93.  
  94. switch (args[0].toLowerCase()) {
  95.  
  96. case "stats":
  97.  
  98. var userCreateDate = message.author.createdAt.toString().split(" ");
  99. var msgauthor = message.author.id;
  100.  
  101. var stats_embed = new Discord.RichEmbed()
  102. .setColor("#6699FF")
  103. .setTitle(`Statistiques du joueurs : ${message.author.username}`)
  104. .addField(`ID du joueurs :id:`, msgauthor, true)
  105. .addField(`Date d'inscription du joueur :`, userCreateDate[1] + ' ' + userCreateDate[2] + ' ' + userCreateDate[3])
  106. .setThumbnail(message.author.avatarURL)
  107. message.reply("Tu peux regarder tes messages privés !")
  108. message.author.send(stats_embed);
  109.  
  110. break;
  111.  
  112. case "play":
  113.  
  114. if (!args[1]) {
  115.  
  116. message.channel.sendMessage("Tu dois m’indiquer un lien YouTube");
  117.  
  118. return;
  119.  
  120. }
  121.  
  122. if(!message.member.voiceChannel) {
  123.  
  124. message.channel.sendMessage(":x: Tu dois être dans un salon vocal");
  125.  
  126. return;
  127.  
  128. }
  129.  
  130.  
  131. if(!servers[message.guild.id]) servers[message.guild.id] = {
  132.  
  133. queue: []
  134.  
  135. };
  136.  
  137.  
  138. var server = servers[message.guild.id];
  139.  
  140.  
  141. server.queue.push(args[1]);
  142.  
  143. if(!message.guild.voiceConnection) message.member.voiceChannel.join().then(function(connection) {
  144.  
  145. play(connection, message)
  146.  
  147. });
  148.  
  149. break;
  150.  
  151. case "skip":
  152.  
  153. if(!message.member.voiceChannel) {
  154.  
  155. message.channel.sendMessage(":x: Tu dois être dans un salon vocal");
  156.  
  157. return;
  158.  
  159. }
  160.  
  161. var server = servers[message.guild.id];
  162.  
  163. if(server.dispatcher) server.dispatcher.end();
  164.  
  165. break;
  166.  
  167. case "stop":
  168.  
  169. if(!message.member.voiceChannel)
  170.  
  171. return message.channel.send(":x: Tu dois être dans un salon vocal");
  172.  
  173. message.member.voiceChannel.leave();
  174.  
  175. break;
  176.  
  177. }
  178.  
  179. if(message.content === prefix + "info") {
  180. var info_embed = new Discord.RichEmbed()
  181. .setColor("#40A497")
  182. .setTitle("Voici les informations sur moi et le serveur !")
  183. .addField(" :robot: Nom :", `${client.user.tag}`, true)
  184. .addField("Descriminateur du bot :hash:", `#${client.user.discriminator}`)
  185. .addField("ID :id: ", `${client.user.id}`)
  186. .addField("Nombre de membres", message.guild.members.size)
  187. .addField("Nombre de catégories et de salons", message.guild.channels.size)
  188. .setFooter("Info - BOT PERSO")
  189. message.channel.sendMessage(info_embed)
  190. console.log("Un utilisateur a effectué la commande d'info !")
  191. }
  192.  
  193. if(message.content.startsWith(prefix + "kick")){
  194. if(!message.guild.member(message.author).hasPermission("KICK_MEMBERS")) return message.channel.send("Vous n'avez pas la permission!");
  195.  
  196. if(message.mentions.users.size === 0) {
  197. return message.channel.send("Vous devez metionner un utilisaeur")
  198. }
  199. var kick = message.guild.member(message.mentions.users.first());
  200. if(!kick) {
  201. return message.channel.send("Je ne sais pas si l'utilisateur existe :/")
  202. }
  203.  
  204. if(message.guild.member(client.user).hasPermission("KICK_MEMBERS")) {
  205. return message.channel.send("Je n'ai pas la permission pour kick");
  206. }
  207.  
  208. kick.kick().then(member => {
  209. message.channel.send(`${member.user.username} est kick pas ${message.author.username}`);
  210. });
  211. }
  212.  
  213. if(message.content.startsWith(prefix + "ban")) {
  214. if(!message.guild.member(message.author).hasPermission("BAN_MEMBERS")) return message.channel.send("Vous n'avez pas la perission");
  215.  
  216. if(message.mentions.users.size === 0) {
  217. return message.channel.send("Vous devez mentionner un utilisateur");
  218. }
  219.  
  220. var ban = message.guild.member(message.mentions.users.first());
  221. if(!ban) {
  222. return message.channel.send("Je ne sais pas si l'utilisateur existe");
  223. }
  224.  
  225. if(!message.guild.member(client.user).hasPermission("BAN_MEMBERS")) {
  226. return message.channel.send("Je n'ai pas la permission pour ban");
  227. }
  228. ban.ban().then(member => {
  229. message.channel.send(`${member.user.username} est ban par ${message.author.username} !`)
  230. });
  231.  
  232. }
  233.  
  234. if(message.content.startsWith(prefix + "clear")) {
  235. if(!message.guild.member(message.author).hasPermission("MANAGE_MESSAGE")) return message.channel.send("Vous n'avez pas la permission !");
  236.  
  237. let args = message.content.split(" ").slice(1);
  238.  
  239. if(!args[0]) return message.channel.send("Tu dois préciser un nombre de messages à supprimer !")
  240. message.channel.bulkDelete(args[0]).then(() => {
  241. message.channel.send(`${args[0]} messages ont été supprimés !`);
  242. });
  243. }
  244.  
  245. if(message.content.startsWith(prefix + "mute")) {
  246. if(!message.guild.member(message.author).hasPermission("ADMINISTRATOR")) return message.channel.send("Vous n'avez pas la permission !");
  247.  
  248. if(message.mentions.users.size === 0) {
  249. return message.channel.send('Vous devez mentionner un utilisateur !');
  250. }
  251.  
  252. var mute = message.guild.member(message.mentions.users.first());
  253. if(!mute) {
  254. return message.channel.send("Je n'ai pas trouvé l'utilisateur ou il l'existe pas !");
  255. }
  256.  
  257. if(!message.guild.member(client.user).hasPermission("ADMINISTRATOR")) return message.channel.send("Je n'ai pas la permission !");
  258. message.channel.overwritePermissions(mute, { SEND_MESSAGES: false}).then(member => {
  259. message.channel.send(`${mute.user.username} est mute !`);
  260. });
  261. }
  262.  
  263. if(message.content.startsWith(prefix + "unmute")) {
  264. if(!message.guild.member(message.author).hasPermission("ADMINISTRATOR")) return message.channel.send("Vous n'avez pas la permission !");
  265.  
  266. if(message.mentions.users.size === 0) {
  267. return message.channel.send('Vous devez mentionner un utilisateur !');
  268. }
  269.  
  270. var mute = message.guild.member(message.mentions.users.first());
  271. if(!mute) {
  272. return message.channel.send("Je n'ai pas trouvé l'utilisateur ou il l'existe pas !");
  273. }
  274.  
  275. if(!message.guild.member(client.user).hasPermission("ADMINISTRATOR")) return message.channel.send("Je n'ai pas la permission !");
  276. message.channel.overwritePermissions(mute, { SEND_MESSAGES: true}).then(member => {
  277. message.channel.send(`${mute.user.username} n'est plus mute !`);
  278. });
  279. }
  280.  
  281. var fs = require('fs');
  282.  
  283. let warns = JSON.parse(fs.readFileSync("./warns.json", "utf8"));
  284.  
  285. if (message.content.startsWith(prefix + "warn")){
  286.  
  287. if (message.channel.type === "dm") return;
  288.  
  289. var mentionned = message.mentions.users.first();
  290.  
  291. if(!message.guild.member(message.author).hasPermission("MANAGE_GUILD")) return message.reply("**:x: Vous n'avez pas la permission `Gérer le serveur` dans ce serveur**").catch(console.error);
  292.  
  293. if(message.mentions.users.size === 0) {
  294.  
  295. return message.channel.send("**:x: Vous n'avez mentionnée aucun utilisateur**");
  296.  
  297. }else{
  298.  
  299. const args = message.content.split(' ').slice(1);
  300.  
  301. const mentioned = message.mentions.users.first();
  302.  
  303. if (message.member.hasPermission('MANAGE_GUILD')){
  304.  
  305. if (message.mentions.users.size != 0) {
  306.  
  307. if (args[0] === "<@!"+mentioned.id+">"||args[0] === "<@"+mentioned.id+">") {
  308.  
  309. if (args.slice(1).length != 0) {
  310.  
  311. const date = new Date().toUTCString();
  312.  
  313. if (warns[message.guild.id] === undefined)
  314.  
  315. warns[message.guild.id] = {};
  316.  
  317. if (warns[message.guild.id][mentioned.id] === undefined)
  318.  
  319. warns[message.guild.id][mentioned.id] = {};
  320.  
  321. const warnumber = Object.keys(warns[message.guild.id][mentioned.id]).length;
  322.  
  323. if (warns[message.guild.id][mentioned.id][warnumber] === undefined){
  324.  
  325. warns[message.guild.id][mentioned.id]["1"] = {"raison": args.slice(1).join(' '), time: date, user: message.author.id};
  326.  
  327. } else {
  328.  
  329. warns[message.guild.id][mentioned.id][warnumber+1] = {"raison": args.slice(1).join(' '),
  330.  
  331. time: date,
  332.  
  333. user: message.author.id};
  334.  
  335. }
  336.  
  337. fs.writeFile("./warns.json", JSON.stringify(warns), (err) => {if (err) console.error(err);});
  338.  
  339. message.delete();
  340.  
  341. message.channel.send(':warning: | **'+mentionned.tag+' à été averti**');
  342.  
  343. message.mentions.users.first().send(`:warning: **Warn |** depuis **${message.guild.name}** donné par **${message.author.username}**\n\n**Raison:** ` + args.slice(1).join(' '))
  344.  
  345. } else {
  346.  
  347. message.channel.send("Erreur mauvais usage: "+prefix+"warn <user> <raison>");
  348.  
  349. }
  350.  
  351. } else {
  352.  
  353. message.channel.send("Erreur mauvais usage: "+prefix+"warn <user> <raison>");
  354.  
  355. }
  356.  
  357. } else {
  358.  
  359. message.channel.send("Erreur mauvais usage: "+prefix+"warn <user> <raison>");
  360.  
  361. }
  362.  
  363. } else {
  364.  
  365. message.channel.send("**:x: Vous n'avez pas la permission `Gérer le serveur` dans ce serveur**");
  366.  
  367. }
  368.  
  369. }
  370.  
  371. }
  372.  
  373.  
  374.  
  375. if (message.content.startsWith(prefix+"seewarns")||message.content===prefix+"seewarns") {
  376.  
  377. if (message.channel.type === "dm") return;
  378.  
  379. if(!message.guild.member(message.author).hasPermission("MANAGE_GUILD")) return message.reply("**:x: Vous n'avez pas la permission `Gérer le serveur` dans ce serveur**").catch(console.error);
  380.  
  381. const mentioned = message.mentions.users.first();
  382.  
  383. const args = message.content.split(' ').slice(1);
  384.  
  385. if (message.member.hasPermission('MANAGE_GUILD')){
  386.  
  387. if (message.mentions.users.size !== 0) {
  388.  
  389. if (args[0] === "<@!"+mentioned.id+">"||args[0] === "<@"+mentioned.id+">") {
  390.  
  391. try {
  392.  
  393. if (warns[message.guild.id][mentioned.id] === undefined||Object.keys(warns[message.guild.id][mentioned.id]).length === 0) {
  394.  
  395. message.channel.send("**"+mentioned.tag+"** n'a aucun warn :eyes:");
  396.  
  397. return;
  398.  
  399. }
  400.  
  401. } catch (err) {
  402.  
  403. message.channel.send("**"+mentioned.tag+"** n'a aucun warn :eyes:");
  404.  
  405. return;
  406.  
  407. }
  408.  
  409. let arr = [];
  410.  
  411. arr.push(`**${mentioned.tag}** a **`+Object.keys(warns[message.guild.id][mentioned.id]).length+"** warns :eyes:");
  412.  
  413. for (var warn in warns[message.guild.id][mentioned.id]) {
  414.  
  415. arr.push(`**${warn}** - **"`+warns[message.guild.id][mentioned.id][warn].raison+
  416.  
  417. "**\" warn donné par **"+message.guild.members.find("id", warns[message.guild.id][mentioned.id][warn].user).user.tag+"** a/le **"+warns[message.guild.id][mentioned.id][warn].time+"**");
  418.  
  419. }
  420.  
  421. message.channel.send(arr.join('\n'));
  422.  
  423. } else {
  424.  
  425. message.channel.send("Erreur mauvais usage: "+prefix+"seewarns <user> <raison>");
  426.  
  427. console.log(args);
  428.  
  429. }
  430.  
  431. } else {
  432.  
  433. message.channel.send("Erreur mauvais usage: "+prefix+"seewarns <user> <raison>");
  434.  
  435. }
  436.  
  437. } else {
  438.  
  439. message.channel.send("**:x: Vous n'avez pas la permission `Gérer le serveur` dans ce serveur**");
  440.  
  441. }
  442.  
  443. }
  444.  
  445.  
  446.  
  447.  
  448.  
  449. if (message.content.startsWith(prefix+"deletewarns")||message.content===prefix+"deletewarns") {
  450.  
  451. if (message.channel.type === "dm") return;
  452.  
  453. if(!message.guild.member(message.author).hasPermission("MANAGE_GUILD")) return message.reply("**:x: Vous n'avez pas la permission `Gérer le serveur` dans ce serveur**").catch(console.error);
  454.  
  455. const mentioned = message.mentions.users.first();
  456.  
  457. const args = message.content.split(' ').slice(1);
  458.  
  459. const arg2 = Number(args[1]);
  460.  
  461. if (message.member.hasPermission('MANAGE_GUILD')){
  462.  
  463. if (message.mentions.users.size != 0) {
  464.  
  465. if (args[0] === "<@!"+mentioned.id+">"||args[0] === "<@"+mentioned.id+">"){
  466.  
  467. if (!isNaN(arg2)) {
  468.  
  469. if (warns[message.guild.id][mentioned.id] === undefined) {
  470.  
  471. message.channel.send(mentioned.tag+" n'a aucun warn");
  472.  
  473. return;
  474.  
  475. } if (warns[message.guild.id][mentioned.id][arg2] === undefined) {
  476.  
  477. message.channel.send("**:x: Ce warn n'existe pas**");
  478.  
  479. return;
  480.  
  481. }
  482.  
  483. delete warns[message.guild.id][mentioned.id][arg2];
  484.  
  485. var i = 1;
  486.  
  487. Object.keys(warns[message.guild.id][mentioned.id]).forEach(function(key){
  488.  
  489. var val=warns[message.guild.id][mentioned.id][key];
  490.  
  491. delete warns[message.guild.id][mentioned.id][key];
  492.  
  493. key = i;
  494.  
  495. warns[message.guild.id][mentioned.id][key]=val;
  496.  
  497. i++;
  498.  
  499. });
  500.  
  501. fs.writeFile("./warns.json", JSON.stringify(warns), (err) => {if (err) console.error(err);});
  502.  
  503. if (Object.keys(warns[message.guild.id][mentioned.id]).length === 0) {
  504.  
  505. delete warns[message.guild.id][mentioned.id];
  506.  
  507. }
  508.  
  509. message.channel.send(`Le warn de **${mentioned.tag}**\': **${args[1]}** a été enlevé avec succès!`);
  510.  
  511. return;
  512.  
  513. } if (args[1] === "tout") {
  514.  
  515. delete warns[message.guild.id][mentioned.id];
  516.  
  517. fs.writeFile("./warns.json", JSON.stringify(warns), (err) => {if (err) console.error(err);});
  518.  
  519. message.channel.send(`Les warns de **${mentioned.tag}** a été enlevé avec succès!`);
  520.  
  521. return;
  522.  
  523. } else {
  524.  
  525. message.channel.send("Erreur mauvais usage: "+prefix+"clearwarns <utilisateur> <nombre>");
  526.  
  527. }
  528.  
  529. } else {
  530.  
  531. message.channel.send("Erreur mauvais usage: "+prefix+"clearwarns <utilisateur> <nombre>");
  532.  
  533. }
  534.  
  535. } else {
  536.  
  537. message.channel.send("Erreur mauvais usage: "+prefix+"clearwarns <utilisateur> <nombre>");
  538.  
  539. }
  540.  
  541. } else {
  542.  
  543. message.channel.send("**:x: Vous n'avez pas la permission `Gérer le serveur` dans ce serveur**");
  544.  
  545. }
  546.  
  547. }
  548.  
  549. const réponse = JSON.parse(fs.readFileSync('./eightball.json', "utf8"));
  550.  
  551. if (message.content.startsWith(prefix + "8ball")) {
  552.  
  553. var args = message.content.split(' ').join(' ').slice(6);
  554.  
  555. if(!args) return message.channel.send("Tu dois me poser une question !")
  556.  
  557. var ball_embed = new Discord.RichEmbed()
  558. .setColor('RANDOM')
  559. .setTitle('Voici ma commande 8ball :')
  560. .addField('Question :', `${args}`)
  561. .addField('Réponse', réponse[Math.round(Math.random() * réponse.length)])
  562. .setFooter('8ball :)')
  563. message.channel.send(ball_embed);
  564. }
  565.  
  566. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement