From 0cc40b443a77a09521d961f73c8774585351ff42 Mon Sep 17 00:00:00 2001 From: Raphix Date: Wed, 3 Jul 2024 10:19:20 +0200 Subject: [PATCH] =?UTF-8?q?Version=202.1.3=20-=20Ajout=20de=20la=20s=C3=A9?= =?UTF-8?q?curit=C3=A9=20du=20Bot=20pour=20se=20d=C3=A9connecter=20=C3=A0?= =?UTF-8?q?=20partir=20de=2010=20minutes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/modules/discord-bot.js | 38 ++++++++++++++++++++++------- src/modules/nodes-finder.js | 2 ++ src/modules/sub-list.js | 2 +- src/web/public/javascript/basics.js | 1 + src/web/templates/index.ejs | 2 +- 6 files changed, 35 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index c907207..ea9ab9d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "subsonics-web", "author": "Raphix", - "version": "2.1.2", + "version": "2.1.3", "nodemonConfig": { "ext": "js, html", "ignore": [ diff --git a/src/modules/discord-bot.js b/src/modules/discord-bot.js index dfb355b..a467ebc 100644 --- a/src/modules/discord-bot.js +++ b/src/modules/discord-bot.js @@ -9,6 +9,8 @@ const metric = require("webmetrik") const { MoonlinkManager } = require("moonlink.js") const { Lyrics } = require("moonlink.js-lyrics"); +var endTime = 0 + /// const client = new Client({ @@ -144,14 +146,14 @@ function init(dlog, config) { } }) - startErelaManager(dlog, config) + startManager(dlog, config) client.login(config.token) } -function startErelaManager(dlog, config) { +function startManager(dlog, config) { const elog = new LogType("Lavalink-Manager") const nodes = nodeFinder.getNodes() @@ -174,24 +176,42 @@ function startErelaManager(dlog, config) { membersVoices.set(newMember.id, newMember.channelId) - /* SECURITY DISABLED - let player = client.manager.players.get(oldMember.guild.id) + + let player = client.manager.players.get(oldMember.guild.id) if(player) { - - client.channels.fetch(player.options.voiceChannel).then(channel => { + + + client.channels.fetch(player.voiceChannel).then(channel => { if(channel.members.size <= 1) { - player.destroy() - plog.log("[Automatic Task] Player supprimé dans : " + channel.name) + // If the player is alone in the channel, we will destroy it in 10 minutes + endTime = new Date().getTime() + 600000 + plog.log("[Automatic Task] Player supprimé dans 10 minutess : " + channel.name) + } else { + plog.log("[Automatic Task] Player n'est pas seul dans le channel : " + channel.name) + endTime = 0 } }) - }*/ + } }) + // Set Interval to check endTime is equal to the current time and destroy the player + + setInterval(() => { + let player = client.manager.players.get("137291455336022018") + if(player) { + if(endTime != 0 && endTime <= new Date().getTime()) { + player.destroy() + plog.log("[Automatic Task] Player détruit automatiquement") + endTime = 0 + } + } + }, 1000) + const list = new List() diff --git a/src/modules/nodes-finder.js b/src/modules/nodes-finder.js index 18b4a61..1db46dd 100644 --- a/src/modules/nodes-finder.js +++ b/src/modules/nodes-finder.js @@ -112,6 +112,8 @@ module.exports.addNodes = function (data) { } } + + module.exports.deleteNode = function (data) { nlog.step.init("deleteNodes", "Supression d'un noeud dans la base de donnée de nodes : " + data.host) try { diff --git a/src/modules/sub-list.js b/src/modules/sub-list.js index 4d9d94d..848f2e5 100644 --- a/src/modules/sub-list.js +++ b/src/modules/sub-list.js @@ -235,8 +235,8 @@ module.exports.List = class { previousList.unshift(song) savePreviousFile(previousList) } - + } __previous_remove(song) { diff --git a/src/web/public/javascript/basics.js b/src/web/public/javascript/basics.js index f7fd02a..a25f96c 100644 --- a/src/web/public/javascript/basics.js +++ b/src/web/public/javascript/basics.js @@ -67,6 +67,7 @@ class User { var ActualDroppableMenu = null + class DroppableMenu { options = new Array() id = null diff --git a/src/web/templates/index.ejs b/src/web/templates/index.ejs index b3f8364..5bd37c7 100644 --- a/src/web/templates/index.ejs +++ b/src/web/templates/index.ejs @@ -143,7 +143,7 @@ - +