diff --git a/src/main.js b/src/main.js index 2fecf8f..796a77e 100644 --- a/src/main.js +++ b/src/main.js @@ -6,12 +6,16 @@ if ("ENV" in process.env) { } - -const { error } = require("node:console") const log = require("./sublog.js") -const { config } = require("node:process") -const { platform } = require("node:os") +const nodes = [ + { + host: "lavalink.devamop.in", + password: "DevamOP", + port: 443, + secure: true + } + ]; function startDiscordBot() { @@ -22,7 +26,7 @@ function startDiscordBot() { const fs = require("node:fs") const config = require("./config.json") const path = require("path") - const { Manager, TrackUtils } = require("erela.js") + const { Manager } = require("erela.js") const client = new Client({ intents:[GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates, GatewayIntentBits.GuildMembers] @@ -127,14 +131,7 @@ function startDiscordBot() { - const nodes = [ - { - host: "lavalink.devamop.in", - password: "DevamOP", - port: 443, - secure: true - } - ]; + client.manager = new Manager({ // The nodes to connect to, optional if using default lavalink options @@ -186,7 +183,7 @@ function startServer(client) { const fs = require("fs") const path = require("path") - + var changeMusic = 0 var link = null var discordlink = null @@ -207,12 +204,20 @@ function startServer(client) { var onlineNumber = 0; - const tokens = require(__dirname + path.sep + "tokens.json") + - users = new Map() - for(var user in tokens) { + function reimportUser() { + + const tokens = require(__dirname + path.sep + "tokens.json") + + users = new Map() + for(var user in tokens) { + + users.set(user , tokens[user]) + } + + return users - users.set(user , tokens[user]) } @@ -315,7 +320,7 @@ function startServer(client) { socket.on("authByToken", (token) => { var answer = false - + if(users.has(token)) { answer = true @@ -327,8 +332,16 @@ function startServer(client) { }) socket.on("getState", (token) => { + reimportUser() actualize() - sendState(socket, token) + console.log(token) + console.log(users) + const data = { + "username":users.get(token).username + "#" + users.get(token).discriminator, + "avatar": users.get(token).avatar, + "id": users.get(token).id, + } + socket.emit("updateState", data) }) socket.on("play", (token) => { @@ -360,6 +373,48 @@ function startServer(client) { actualize() }) + socket.on("seek", (token, pos) => { + if(users.has(token)) { + + + log.server("Avancement demandé par " + users.get(token).username + "#" + users.get(token).discriminator) + + let player = client.manager.players.get("137291455336022018") + + if(player) { + + player.seek(pos) + } + + actualize() + } else { + + socket.emit("authFailed") + } + + }) + + socket.on("volume", (token, pos) => { + if(users.has(token)) { + + + log.server("Changement de volume demandé par " + users.get(token).username + "#" + users.get(token).discriminator) + + let player = client.manager.players.get("137291455336022018") + + if(player) { + + player.setVolume(pos * 10) + } + + actualize() + } else { + + socket.emit("authFailed") + } + + }) + socket.on("listClear", (token) => { if(users.has(token)) { @@ -468,7 +523,7 @@ function startServer(client) { let player = client.manager.players.get("137291455336022018") - log.server("Looping demandé par" + users.get(token).username + "#" + users.get(token).discriminator) + log.server("Looping demandé par " + users.get(token).username + "#" + users.get(token).discriminator) if(player) { @@ -513,6 +568,32 @@ function startServer(client) { }) + socket.on("restart", (token) => { + + if(users.has(token)) { + + log.server("Restart demandé par " + users.get(token).username + "#" + users.get(token).discriminator) + + let player = client.manager.players.get("137291455336022018") + + if(player) { + + player.destroy() + } + + + + client.manager.createNode(nodes) + + actualize() + } else { + socket.emit("authFailed") + + } + + + }) + }); @@ -533,6 +614,7 @@ function startServer(client) { client.manager.on("trackStart", () => { log.server("Player : New Track Start-> Actualize all client !") + changeMusic += 1 actualize() }) @@ -562,7 +644,9 @@ function startServer(client) { "queue": null, "loop": false, "durationNow": null, - "durationAll": null + "durationAll": null, + "changeMusic": changeMusic, + "volume": null } if(player) { @@ -574,6 +658,7 @@ function startServer(client) { data["loop"] = true } + data["volume"] = player.volume if(player.queue.current) { @@ -619,25 +704,13 @@ function startServer(client) { } } - function sendState(socket, token) { - - const data = { - "username":users.get(token).username + "#" + users.get(token).discriminator, - "avatar": users.get(token).avatar, - "id": users.get(token).id, - } - socket.emit("updateState", data) - - - } + app.get("/redirect", (req, res) => { let token = req.cookies.authLoginFollow - - if(token != null) { if(authTokenWait.has(token) == true) { diff --git a/src/tokens.json b/src/tokens.json index 077404a..9815bbb 100644 --- a/src/tokens.json +++ b/src/tokens.json @@ -1,3 +1,155 @@ { - + "68e45a4a-0f46-4a0c-b4aa-efac9439b0cc": { + "id": "486943594893017119", + "username": "Raphix", + "global_name": null, + "display_name": null, + "avatar": "883ec1a7136b0aa3c22e4bdc33e278e5", + "discriminator": "8434", + "public_flags": 4194368, + "flags": 4194368, + "banner": null, + "banner_color": "#ff4d4d", + "accent_color": 16731469, + "locale": "fr", + "mfa_enabled": true, + "premium_type": 0, + "avatar_decoration": null + }, + "d13687de-adcd-454b-8f82-d5a67f1aefda": { + "id": "486943594893017119", + "username": "Raphix", + "global_name": null, + "display_name": null, + "avatar": "883ec1a7136b0aa3c22e4bdc33e278e5", + "discriminator": "8434", + "public_flags": 4194368, + "flags": 4194368, + "banner": null, + "banner_color": "#ff4d4d", + "accent_color": 16731469, + "locale": "fr", + "mfa_enabled": true, + "premium_type": 0, + "avatar_decoration": null + }, + "3410460a-ff5c-4075-901c-13660ffd496d": { + "id": "486943594893017119", + "username": "Raphix", + "global_name": null, + "display_name": null, + "avatar": "883ec1a7136b0aa3c22e4bdc33e278e5", + "discriminator": "8434", + "public_flags": 4194368, + "flags": 4194368, + "banner": null, + "banner_color": "#ff4d4d", + "accent_color": 16731469, + "locale": "fr", + "mfa_enabled": true, + "premium_type": 0, + "avatar_decoration": null + }, + "af09802f-fa3a-4ebe-8b34-51a6375408d1": { + "id": "486943594893017119", + "username": "Raphix", + "global_name": null, + "display_name": null, + "avatar": "883ec1a7136b0aa3c22e4bdc33e278e5", + "discriminator": "8434", + "public_flags": 4194368, + "flags": 4194368, + "banner": null, + "banner_color": "#ff4d4d", + "accent_color": 16731469, + "locale": "fr", + "mfa_enabled": true, + "premium_type": 0, + "avatar_decoration": null + }, + "5be82e44-2ecf-4f1c-8850-37886e15937b": { + "id": "486943594893017119", + "username": "Raphix", + "global_name": null, + "display_name": null, + "avatar": "883ec1a7136b0aa3c22e4bdc33e278e5", + "discriminator": "8434", + "public_flags": 4194368, + "flags": 4194368, + "banner": null, + "banner_color": "#ff4d4d", + "accent_color": 16731469, + "locale": "fr", + "mfa_enabled": true, + "premium_type": 0, + "avatar_decoration": null + }, + "1c62461d-7cc9-44e2-a42a-6fae79baabb6": { + "id": "486943594893017119", + "username": "Raphix", + "global_name": null, + "display_name": null, + "avatar": "883ec1a7136b0aa3c22e4bdc33e278e5", + "discriminator": "8434", + "public_flags": 4194368, + "flags": 4194368, + "banner": null, + "banner_color": "#ff4d4d", + "accent_color": 16731469, + "locale": "fr", + "mfa_enabled": true, + "premium_type": 0, + "avatar_decoration": null + }, + "cdba02f4-3473-4c76-8567-ef8965e0c211": { + "id": "486943594893017119", + "username": "Raphix", + "global_name": null, + "display_name": null, + "avatar": "883ec1a7136b0aa3c22e4bdc33e278e5", + "discriminator": "8434", + "public_flags": 4194368, + "flags": 4194368, + "banner": null, + "banner_color": "#ff4d4d", + "accent_color": 16731469, + "locale": "fr", + "mfa_enabled": true, + "premium_type": 0, + "avatar_decoration": null + }, + "73f031a3-6280-4836-89d1-09080d1a74c2": { + "id": "486943594893017119", + "username": "Raphix", + "global_name": null, + "display_name": null, + "avatar": "883ec1a7136b0aa3c22e4bdc33e278e5", + "discriminator": "8434", + "public_flags": 4194368, + "flags": 4194368, + "banner": null, + "banner_color": "#ff4d4d", + "accent_color": 16731469, + "locale": "fr", + "mfa_enabled": true, + "premium_type": 0, + "avatar_decoration": null + }, + "c3b40227-5112-421d-8f2b-46a30a87cbca": { + "id": "486943594893017119", + "username": "Raphix", + "global_name": null, + "display_name": null, + "avatar": "883ec1a7136b0aa3c22e4bdc33e278e5", + "discriminator": "8434", + "public_flags": 4194368, + "flags": 4194368, + "banner": null, + "banner_color": "#ff4d4d", + "accent_color": 16731469, + "locale": "fr", + "mfa_enabled": true, + "premium_type": 0, + "avatar_decoration": null + } } \ No newline at end of file