diff --git a/README.md b/README.md index 75acff4..5cdc2c9 100644 --- a/README.md +++ b/README.md @@ -20,28 +20,17 @@ ## Changelog -### Subsonics - Web - 0.9.0 -- **Adds :** *Home Menu V2 | User Experience Improvements* -#### Details - -**Home Menu V2** (Done) - -> - Ajouter une petite liste des gens connectés actuellement -> - Ajouter les radios -> - Ajouter le Changelog - -**User Experience Improvements** - -> - Fix of Tooltip which is sometimes bugged -> - Canva of Queue List -> - Support Live - -
### Subsonics - Web - 1.0.0 -- **Adds :** *Bugs Fixes & Trailer* +- **Adds :** *Bugs Fixes* #### Details --- TO DO + +**Bugs Fixes** +> - Fix des playlist avec les noms interdits +> - Playlist Private - Handle Exception + +**Final Logo** +> - Ajout du logo Final
diff --git a/data/nodes.json b/data/nodes.json index d98aece..833230f 100644 --- a/data/nodes.json +++ b/data/nodes.json @@ -1,8 +1,8 @@ [ { - "host": "lava1.horizxon.studio", - "port": 80, - "password": "horizxon.studio", + "host": "lavalink.clxud.dev", + "port": 2333, + "password": "youshallnotpass", "retryAmount": 1 } ] \ No newline at end of file diff --git a/package.json b/package.json index 86bcb92..58c2539 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "subsonics-web", "author": "Raphix", - "version": "0.9.3", + "version": "1.0.0", "nodemonConfig": { "ext": "js, html", "ignore": [ diff --git a/src/commands/about.js b/src/commands/about.js index 89389b7..640f71d 100644 --- a/src/commands/about.js +++ b/src/commands/about.js @@ -6,7 +6,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("about") - .setDescription("[NEW] Affiche les informations principales du bot !"), + .setDescription("Affiche les informations principales du bot !"), async execute(client, interaction) { diff --git a/src/commands/help.js b/src/commands/help.js index 32d80bb..15b503e 100644 --- a/src/commands/help.js +++ b/src/commands/help.js @@ -3,7 +3,7 @@ module.exports = { data:new SlashCommandBuilder() .setName("help") - .setDescription("[NEW] Affiche toutes les commandes disponibles du bot"), + .setDescription("Affiche toutes les commandes disponibles du bot"), async execute(client, interaction) { diff --git a/src/commands/leave.js b/src/commands/leave.js index 7c2aeeb..d12087f 100644 --- a/src/commands/leave.js +++ b/src/commands/leave.js @@ -7,7 +7,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("leave") - .setDescription("[NEW] Déconnecte le Bot !"), + .setDescription("Déconnecte le Bot !"), async execute(client, interaction) { diff --git a/src/commands/pause.js b/src/commands/pause.js index eab88fc..c390280 100644 --- a/src/commands/pause.js +++ b/src/commands/pause.js @@ -9,7 +9,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("pause") - .setDescription("[NEW] Cette commande te permettera de mettre en pause ou de remettre le morceau en cours !"), + .setDescription("Cette commande te permettera de mettre en pause ou de remettre le morceau en cours !"), async execute(client, interaction) { diff --git a/src/commands/play.js b/src/commands/play.js index 1acc5e5..83b11a2 100644 --- a/src/commands/play.js +++ b/src/commands/play.js @@ -7,7 +7,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("play") - .setDescription("[NEW] Permet de lire des titres comme des playlists depuis Youtube / SoundCloud / Vimeo !") + .setDescription("Permet de lire des titres comme des playlists depuis Youtube / SoundCloud / Vimeo !") .addStringOption(option => option.setName("nom_ou_lien").setDescription("Lien ou nom du titre ou de la playlist").setRequired(true)), async execute(client, interaction) { diff --git a/src/commands/previous.js b/src/commands/previous.js index a008da6..6453c75 100644 --- a/src/commands/previous.js +++ b/src/commands/previous.js @@ -9,7 +9,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("previous") - .setDescription("[NEW] Revenir à la chanson précédente."), + .setDescription("Revenir à la chanson précédente."), async execute(client, interaction) { diff --git a/src/commands/report.js b/src/commands/report.js index 68e7041..02ce9c0 100644 --- a/src/commands/report.js +++ b/src/commands/report.js @@ -9,7 +9,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("report") - .setDescription("[NEW] Donne le lien vers le panel !") + .setDescription("Donne le lien vers le panel !") .addStringOption(option => option.setName("level").setDescription("Niveau du report").setRequired(true).addChoices( {name: "Majeur", value: "Majeur"}, {name: "Mineur", value: "Mineur"}, diff --git a/src/commands/restart.js b/src/commands/restart.js index 921ef18..3b58e9a 100644 --- a/src/commands/restart.js +++ b/src/commands/restart.js @@ -6,7 +6,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("restart") - .setDescription("[NEW] Redémarre intégralement le Bot !"), + .setDescription("Redémarre intégralement le Bot !"), async execute(client, interaction) { diff --git a/src/commands/skip.js b/src/commands/skip.js index a036230..d66e6b9 100644 --- a/src/commands/skip.js +++ b/src/commands/skip.js @@ -9,7 +9,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("skip") - .setDescription("[NEW] Passer à la chanson suivante."), + .setDescription("Passer à la chanson suivante."), async execute(client, interaction) { diff --git a/src/commands/state.js b/src/commands/state.js index 536a1f5..fcb5220 100644 --- a/src/commands/state.js +++ b/src/commands/state.js @@ -9,7 +9,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("state") - .setDescription("[NEW] Donne le titre de la musique !"), + .setDescription("Donne le titre de la musique !"), async execute(client, interaction) { diff --git a/src/commands/web.js b/src/commands/web.js index b5510ee..fd73466 100644 --- a/src/commands/web.js +++ b/src/commands/web.js @@ -6,7 +6,7 @@ module.exports = { data: new SlashCommandBuilder() .setName("web") - .setDescription("[NEW] Donne le lien vers le panel !"), + .setDescription("Donne le lien vers le panel !"), async execute(client, interaction) { diff --git a/src/modules/sub-player.js b/src/modules/sub-player.js index ee1617e..f057c4f 100644 --- a/src/modules/sub-player.js +++ b/src/modules/sub-player.js @@ -43,26 +43,39 @@ module.exports.play = async function (client, interaction) { const songs = await client.manager.search(song_name) - if(!player.playing) { - - player.play(songs.tracks[0]) - + if(songs.tracks.length == 0) { const embed = await new EmbedBuilder() - .setColor(0x15e6ed) - .setTitle('**Lecture de : **' + songs.tracks[0].title) - .setDescription('**Demandé par **' + interaction.member.user.username) - .addFields({name: "Auteur", value: songs.tracks[0].author}, - {name: "URL", value:songs.tracks[0].uri}) - .setThumbnail(songs.tracks[0].thumbnail) + .setColor(0xff0000) + .setTitle('*On connait pas le morceau !*') .setTimestamp(); - interaction.reply({embeds: [embed]}) + interaction.reply({embeds: [embed], ephemeral: true}) + } else { - list.add(songs.tracks[0], interaction) - + if(!player.playing) { + + player.play(songs.tracks[0]) + + const embed = await new EmbedBuilder() + .setColor(0x15e6ed) + .setTitle('**Lecture de : **' + songs.tracks[0].title) + .setDescription('**Demandé par **' + interaction.member.user.username) + .addFields({name: "Auteur", value: son.tracks[0].author}, + {name: "URL", value:songs.tragscks[0].uri}) + .setThumbnail(songs.tracks[0].thumbnail) + .setTimestamp(); + + interaction.reply({embeds: [embed]}) + } else { + + list.add(songs.tracks[0], interaction) + + } + } - + + } diff --git a/src/web/public/javascript/__index_script.js b/src/web/public/javascript/__index_script.js index 02dfb5f..5158aa9 100644 --- a/src/web/public/javascript/__index_script.js +++ b/src/web/public/javascript/__index_script.js @@ -461,24 +461,44 @@ socket.on("ANSWER/GET/PLAYLIST", (data) => { const addPlaylist_dialog = document.getElementById("createPlaylist_dialog") const addPlaylist_close = document.getElementById("createPlaylist_close") const apText = document.getElementById("apText") + const apInfo = document.getElementById("apInfo") const apCreate = document.getElementById("apCreate") addPlaylist_close.addEventListener("click", () => { - + apInfo.innerHTML = "" addPlaylist_dialog.close() }) addPlaylist.addEventListener("click", () => { - apText.value = "" + apText.innerHTML = "" addPlaylist_dialog.showModal() }) apCreate.addEventListener("click", () => { + apInfo.innerHTML = "" + var wrongName = true - addPlaylist_dialog.close() - send("CREATE_PLAYLIST", apText.value) + const refusedChar = ['\\','/' ,':' ,'*','?' ,'"','<','>','|'] + + for(var char of refusedChar) { + + if(apText.value.includes(char)) { + wrongName = false + + } + } + + if(apText.value != "" && apText.value != " " && wrongName) { + + addPlaylist_dialog.close() + send("CREATE_PLAYLIST", apText.value) + } else { + + apInfo.innerHTML = "Le nom n'est pas valide !" + } + }) diff --git a/src/web/public/stylesheets/style.css b/src/web/public/stylesheets/style.css index 65432d4..dc310f1 100644 --- a/src/web/public/stylesheets/style.css +++ b/src/web/public/stylesheets/style.css @@ -401,8 +401,8 @@ p { .rsend { color: white; margin: 2%; + padding: 1%; align-self: center; - width: 20%; background-color: transparent; border: none; border-style: solid; diff --git a/src/web/templates/index.ejs b/src/web/templates/index.ejs index 324dbf7..df40169 100644 --- a/src/web/templates/index.ejs +++ b/src/web/templates/index.ejs @@ -55,6 +55,7 @@
+

Nom de la playlist