SHARE
TWEET

Untitled

a guest Aug 23rd, 2019 74 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Command = require("../../modules/Command.js");
  2.  
  3. class Pause extends Command {
  4.   constructor(client) {
  5.     super(client, {
  6.       name: "pause",
  7.       description: "Arrêter la musique.",
  8.       usage: "pause"
  9.     });
  10.   }
  11.  
  12.   run(message) {
  13.     const serverQueue = message.client.queue.get(message.guild.id);
  14.     if (serverQueue && serverQueue.playing) {
  15.       serverQueue.playing = false;
  16.       serverQueue.connection.dispatcher.pause();
  17.       return message.channel.send("⏸ La musique est en pause !");
  18.     }
  19.     return message.channel.send(
  20.       "Il n'y a aucune musique qui est en train de jouer !"
  21.     );
  22.   }
  23. }
  24.  
  25. const Command = require("../../modules/Command.js");
  26. const ytdl = require("ytdl-core");
  27. const ytdlDiscord = require("ytdl-core-discord");
  28. const { Util } = require("discord.js");
  29.  
  30. class Play extends Command {
  31.   constructor(client) {
  32.     super(client, {
  33.       name: "play",
  34.       description: "Jouer et ajouter de la musique.",
  35.       usage: "play"
  36.     });
  37.   }
  38.  
  39.   async run(message, args) {
  40.     const { voiceChannel } = message.member;
  41.     if (!voiceChannel)
  42.       return message.channel.send(
  43.         "Vous devez être dans un salon vocal pour utiliser cette commande !"
  44.       );
  45.  
  46.     const serverQueue = message.client.queue.get(message.guild.id);
  47.     const songInfo = await ytdl.getInfo(args[0]);
  48.     const song = {
  49.       id: songInfo.video_id,
  50.       title: Util.escapeMarkdown(songInfo.title),
  51.       url: songInfo.video_url
  52.     };
  53.  
  54.     if (serverQueue) {
  55.       serverQueue.songs.push(song);
  56.       return message.channel.send(
  57.         `✅ **${song.title}** est ajoutée à la queue !`
  58.       );
  59.     }
  60.  
  61.     const queueConstruct = {
  62.       textChannel: message.channel,
  63.       voiceChannel,
  64.       connection: null,
  65.       songs: [],
  66.       volume: 1,
  67.       playing: true
  68.     };
  69.     message.client.queue.set(message.guild.id, queueConstruct);
  70.     queueConstruct.songs.push(song);
  71.  
  72.     const play = async song => {
  73.       const queue = message.client.queue.get(message.guild.id);
  74.       if (!song) {
  75.         queue.voiceChannel.leave();
  76.         message.client.queue.delete(message.guild.id);
  77.         return;
  78.       }
  79.  
  80.       const dispatcher = queue.connection
  81.         .playOpusStream(await ytdlDiscord(song.url), { passes: 3 })
  82.         .on("end", reason => {
  83.           if (reason === "Récupération trop lente !")
  84.             console.log("La musique s'est arrêtée !");
  85.           else console.log(reason);
  86.           queue.songs.shift();
  87.           play(queue.songs[0]);
  88.         })
  89.         .on("error", error => console.error(error));
  90.       dispatcher.setVolumeLogarithmic(queue.volume / 5);
  91.       queue.textChannel.send(`🎶 Commence à jouer: **${song.title}**`);
  92.     };
  93.  
  94.     try {
  95.       const connection = await voiceChannel.join();
  96.       queueConstruct.connection = connection;
  97.       play(queueConstruct.songs[0]);
  98.     } catch (error) {
  99.       console.error(`Je n'ai pas pu rejoindre le salon: ${error}`);
  100.       message.client.queue.delete(message.guild.id);
  101.       await voiceChannel.leave();
  102.     }
  103.   }
  104. }
  105.  
  106. const Command = require("../../modules/Command.js");
  107.  
  108. class Resume extends Command {
  109.   constructor(client) {
  110.     super(client, {
  111.       name: "resume",
  112.       description: "Remet en marche la musique en pause.",
  113.       usage: "resume"
  114.     });
  115.   }
  116.  
  117.   run(message) {
  118.     const serverQueue = message.client.queue.get(message.guild.id);
  119.     if (serverQueue && !serverQueue.playing) {
  120.       serverQueue.playing = true;
  121.       serverQueue.connection.dispatcher.resume();
  122.       return message.channel.send("⏯ Je remets en marche la musique !");
  123.     }
  124.     return message.channel.send(
  125.       "Il n'y a aucune musique qui est en train de jouer !"
  126.     );
  127.   }
  128. }
  129.  
  130. const Command = require("../../modules/Command.js");
  131.  
  132. class Playing extends Command {
  133.   constructor(client) {
  134.     super(client, {
  135.       name: "playing",
  136.       description:
  137.         "Affiche le nom de la musique qui est en train d'être jouée.",
  138.       usage: "playing"
  139.     });
  140.   }
  141.  
  142.   run(message) {
  143.     const serverQueue = message.client.queue.get(message.guild.id);
  144.     if (!serverQueue)
  145.       return message.channel.send("Il n'y a aucune musique en cours !");
  146.     return message.channel.send(
  147.       `🎵 En ce moment: **${serverQueue.songs[0].title}**`
  148.     );
  149.   }
  150. }
  151.  
  152. const Command = require("../../modules/Command.js");
  153.  
  154. class Queue extends Command {
  155.   constructor(client) {
  156.     super(client, {
  157.       name: "queue",
  158.       description: "Afficher la liste de musique.",
  159.       usage: "queue"
  160.     });
  161.   }
  162.  
  163.   run(message) {
  164.     const serverQueue = message.client.queue.get(message.guild.id);
  165.     if (!serverQueue)
  166.       return message.channel.send("Il n'y a aucune musique en cours !");
  167.     return message.channel.send(`
  168. **Playlist:**
  169. ${serverQueue.songs.map(song => `${song.title}`).join("\n")}
  170. ___________
  171. **Musique actuelle:** ${serverQueue.songs[0].title}
  172.     `);
  173.   }
  174. }
  175.  
  176. const Command = require("../../modules/Command.js");
  177.  
  178. class Skip extends Command {
  179.   constructor(client) {
  180.     super(client, {
  181.       name: "skip",
  182.       description: "Sauter la musique qui est en train d'être jouée.",
  183.       usage: "skip"
  184.     });
  185.   }
  186.  
  187.   run(message) {
  188.     const { voiceChannel } = message.member;
  189.     if (!voiceChannel)
  190.       return message.channel.send(
  191.         "Vous devez être dans un salon vocal pour utiliser cette commande !"
  192.       );
  193.     const serverQueue = message.client.queue.get(message.guild.id);
  194.     if (!serverQueue)
  195.       return message.channel.send("Il n'y a aucune musique en cours !");
  196.  
  197.     serverQueue.connection.dispatcher.end("La commande skip est utilisée !");
  198.   }
  199. }
  200.  
  201. const Command = require("../../modules/Command.js");
  202.  
  203. class Stop extends Command {
  204.   constructor(client) {
  205.     super(client, {
  206.       name: "stop",
  207.       description: "Arrêter la musique.",
  208.       usage: "stop"
  209.     });
  210.   }
  211.  
  212.   run(message) {
  213.     const { voiceChannel } = message.member;
  214.     if (!voiceChannel)
  215.       return message.channel.send(
  216.         "Vous devez être dans un salon vocal pour utiliser cette commande !"
  217.       );
  218.     const serverQueue = message.client.queue.get(message.guild.id);
  219.     if (!serverQueue)
  220.       return message.channel.send("Il n'y a aucune musique à arrêter !");
  221.     serverQueue.songs = [];
  222.     serverQueue.connection.dispatcher.end("La commande stop a été utilisé !");
  223.   }
  224. }
  225.  
  226. const Command = require("../../modules/Command.js");
  227.  
  228. class Volume extends Command {
  229.   constructor(client) {
  230.     super(client, {
  231.       name: "volume",
  232.       description: "Ajuster le volume de la musique.",
  233.       usage: "volume"
  234.     });
  235.   }
  236.  
  237.   run(message, args) {
  238.     const { voiceChannel } = message.member;
  239.     if (!voiceChannel)
  240.       return message.channel.send(
  241.         "Vous devez être dans un salon vocal pour utiliser cette commande !"
  242.       );
  243.     const serverQueue = message.client.queue.get(message.guild.id);
  244.     if (!serverQueue)
  245.       return message.channel.send("Il n'y a aucune musique en cours !");
  246.     if (!args[0])
  247.       return message.channel.send(
  248.         `Le volume actuel est: **${serverQueue.volume}**`
  249.       );
  250.     serverQueue.volume = args[0];
  251.     serverQueue.connection.dispatcher.setVolumeLogarithmic(args[0] / 5);
  252.     return message.channel.send(`J'ai mis le volume à: **${args[0]}**`);
  253.   }
  254. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top