From 788e83cd3dc574eca5fede8bd239e8f9b11b9ea2 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Mon, 23 Sep 2024 12:12:49 +0200 Subject: [PATCH] Option to add a music now --- src/commands/music/play.ts | 54 +++++++++++++++++++++++++++++++------- src/locales/en-US.json | 4 +++ src/locales/fr.json | 4 +++ 3 files changed, 53 insertions(+), 9 deletions(-) diff --git a/src/commands/music/play.ts b/src/commands/music/play.ts index 80bf83e..7e8a274 100644 --- a/src/commands/music/play.ts +++ b/src/commands/music/play.ts @@ -27,14 +27,42 @@ export default { .setNameLocalizations(getLocalizations(client, `c_${filename}_name`, true)) .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_desc`)) - // Command option - .addStringOption((option) => - option - .setName(loc_default.get(`c_${filename}_opt1_name`)!.toLowerCase()) - .setDescription(loc_default.get(`c_${filename}_opt1_desc`)!) - .setNameLocalizations(getLocalizations(client, `c_${filename}_opt1_name`, true)) - .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_opt1_desc`)) - .setAutocomplete(true), + // Normal + .addSubcommand((subcommand) => + subcommand + .setName(loc_default.get(`c_${filename}_sub1_name`)!.toLowerCase()) + .setDescription(loc_default.get(`c_${filename}_sub1_desc`)!) + .setNameLocalizations(getLocalizations(client, `c_${filename}_sub1_name`, true)) + .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_sub1_desc`)) + + // Command option + .addStringOption((option) => + option + .setName(loc_default.get(`c_${filename}_opt1_name`)!.toLowerCase()) + .setDescription(loc_default.get(`c_${filename}_opt1_desc`)!) + .setNameLocalizations(getLocalizations(client, `c_${filename}_opt1_name`, true)) + .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_opt1_desc`)) + .setAutocomplete(true), + ), + ) + + // Play now + .addSubcommand((subcommand) => + subcommand + .setName(loc_default.get(`c_${filename}_sub2_name`)!.toLowerCase()) + .setDescription(loc_default.get(`c_${filename}_sub2_desc`)!) + .setNameLocalizations(getLocalizations(client, `c_${filename}_sub2_name`, true)) + .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_sub2_desc`)) + + // Command option + .addStringOption((option) => + option + .setName(loc_default.get(`c_${filename}_opt1_name`)!.toLowerCase()) + .setDescription(loc_default.get(`c_${filename}_opt1_desc`)!) + .setNameLocalizations(getLocalizations(client, `c_${filename}_opt1_name`, true)) + .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_opt1_desc`)) + .setAutocomplete(true), + ), ) ); }, @@ -133,7 +161,15 @@ export default { } else { const track = result.tracks[0]; - queue.addTrack(track); + if ( + interaction.options.getSubcommand() === + loc_default?.get(`c_${filename}_sub2_name`)?.toLowerCase() + ) { + queue.insertTrack(track, 0); + } else { + queue.addTrack(track); + } + title = track.title; } diff --git a/src/locales/en-US.json b/src/locales/en-US.json index 4f3dd13..1231731 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -81,6 +81,10 @@ "c_play_name": "play", "c_play_desc": "Plays a song/playlist, no query displays the now playing song", + "c_play_sub1_name": "add", + "c_play_sub1_desc": "Adds song/playlist to the queue", + "c_play_sub2_name": "now", + "c_play_sub2_desc": "Adds the song/playlist to the beginning of the queue", "c_play_opt1_name": "query", "c_play_opt1_desc": "What you want to listen to", "c_play1": "You're not on any vocal channels.", diff --git a/src/locales/fr.json b/src/locales/fr.json index d0af1c9..725d499 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -81,6 +81,10 @@ "c_play_name": "play", "c_play_desc": "Joue une chanson/playlist, pas de requête affiche la chanson en cours actuellement", + "c_play_sub1_name": "ajouter", + "c_play_sub1_desc": "Ajoute la chanson/playlist à la file d'attente", + "c_play_sub2_name": "maintenant", + "c_play_sub2_desc": "Ajoute la chanson/playlist au début de la file", "c_play_opt1_name": "requête", "c_play_opt1_desc": "Ce que vous voulez écouter", "c_play1": "Tu n'es dans aucun salon vocal.",