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 @@