Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.27 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement