Compare commits
No commits in common. "main" and "6.0" have entirely different histories.
3
.gitignore
vendored
3
.gitignore
vendored
@ -20,9 +20,6 @@ coverage
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
tokens.json
|
||||
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "subsonics-discord",
|
||||
"version": "7.5",
|
||||
"version": "5.5",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "subsonics-discord",
|
||||
"version": "7.5",
|
||||
"version": "5.5",
|
||||
"dependencies": {
|
||||
"cookie-parser": "^1.4.6",
|
||||
"discord.js": "^14.9.0",
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "subsonics-discord",
|
||||
"author": "Raphix",
|
||||
"version": "7.5",
|
||||
"version": "6.0",
|
||||
"nodemonConfig": {
|
||||
"ext": "js, html",
|
||||
"ignore": [
|
||||
|
12
src/close.html
Normal file
12
src/close.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Submanager - </title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,155 +0,0 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');
|
||||
|
||||
|
||||
body {
|
||||
|
||||
background-color: #171717 !important;
|
||||
font-family: 'Open Sans', sans-serif !important;
|
||||
padding: 3%;
|
||||
}
|
||||
|
||||
.top-title {
|
||||
|
||||
display: flex;
|
||||
width: 100%;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: white;
|
||||
}
|
||||
|
||||
|
||||
.top-logo {
|
||||
|
||||
width: 5vw;
|
||||
border-radius: 10%;
|
||||
|
||||
}
|
||||
|
||||
.buttonClose {
|
||||
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease 0s;
|
||||
font-family: 'noto Sans', sans-serif;
|
||||
font-weight: 500;
|
||||
font-size: 15px;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
-webkit-app-region: no-drag;
|
||||
margin: 5px;
|
||||
outline: none;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.text {
|
||||
text-align: center;
|
||||
font-size: 2vw;
|
||||
color: white;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.boxtext {
|
||||
margin-top: 5%;
|
||||
border-radius: 15px;
|
||||
background-color: #3d3d3d;
|
||||
width: 50%;
|
||||
padding: 3%;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.buttonClose:hover {
|
||||
|
||||
color: red;
|
||||
}
|
||||
|
||||
.buttonClose:active {
|
||||
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.buttonReduce {
|
||||
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease 0s;
|
||||
font-family: 'noto Sans', sans-serif;
|
||||
font-weight: 500;
|
||||
font-size: 13px;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
-webkit-app-region: no-drag;
|
||||
margin: 5px;
|
||||
outline: none;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.buttonReduce:hover {
|
||||
|
||||
color: rgb(46, 196, 255);
|
||||
}
|
||||
|
||||
.buttonReduce:active {
|
||||
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
|
||||
header {
|
||||
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.content {
|
||||
|
||||
padding: 5%;
|
||||
padding-top: 0;
|
||||
|
||||
}
|
||||
|
||||
.buttonFav {
|
||||
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease 0s;
|
||||
font-family: 'noto Sans', sans-serif;
|
||||
font-weight: 500;
|
||||
font-size: 13px;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
-webkit-app-region: no-drag;
|
||||
margin: 0;
|
||||
outline: none;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.buttonFav:hover {
|
||||
|
||||
color: rgb(242, 255, 53);
|
||||
}
|
||||
|
||||
.buttonFav:active {
|
||||
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.title-t {
|
||||
|
||||
width: +30%;
|
||||
margin-left: 1%;
|
||||
margin-top: 1%;
|
||||
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="./close.css">
|
||||
<title>Subsonics - Submanager</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="top-title">
|
||||
<img class="top-logo" src="./logo.png" alt="Logo">
|
||||
<img class="title-t" src="./title.png" alt="Logo">
|
||||
</div>
|
||||
<div class="boxtext">
|
||||
<p class="text">Vous pouvez fermer cette fenêtre !</p>
|
||||
<p class="text">En cas de problème, prévenez Raphix#8434 !</p>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
Before Width: | Height: | Size: 8.0 KiB |
Binary file not shown.
Before Width: | Height: | Size: 13 KiB |
@ -82,5 +82,4 @@ module.exports = {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -32,17 +32,17 @@ module.exports = {
|
||||
|
||||
}
|
||||
|
||||
|
||||
const nodes = [
|
||||
{
|
||||
host: "narco.buses.rocks",
|
||||
password: "glasshost1984",
|
||||
port: 2269,
|
||||
secure: false
|
||||
host: "lavalink.devamop.in",
|
||||
password: "DevamOP",
|
||||
port: 443,
|
||||
secure: true
|
||||
}
|
||||
];
|
||||
];
|
||||
|
||||
client.manager.createNode(nodes)
|
||||
|
||||
client.manager.createNode(nodes)
|
||||
|
||||
|
||||
} else {
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"token":"MTA5NDcyNzc4OTY4MjM4MDkyMg.GXRu96.tkaQ8XqbDgk4blhGk4sme6JGwQkgf9hQ92W15s",
|
||||
"token":"MTA5NDcyNzc4OTY4MjM4MDkyMg.GaWsMy.zp3wY6mSOwVhHfV0k43fXdgspi24qgW7LyCD6U",
|
||||
"clientID":"1094727789682380922",
|
||||
"guildID":"137291455336022018"
|
||||
}
|
@ -1,155 +0,0 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');
|
||||
|
||||
|
||||
body {
|
||||
|
||||
background-color: #171717 !important;
|
||||
font-family: 'Open Sans', sans-serif !important;
|
||||
padding: 3%;
|
||||
}
|
||||
|
||||
.top-title {
|
||||
|
||||
display: flex;
|
||||
width: 100%;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: white;
|
||||
}
|
||||
|
||||
|
||||
.top-logo {
|
||||
|
||||
width: 5vw;
|
||||
border-radius: 10%;
|
||||
|
||||
}
|
||||
|
||||
.buttonClose {
|
||||
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease 0s;
|
||||
font-family: 'noto Sans', sans-serif;
|
||||
font-weight: 500;
|
||||
font-size: 15px;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
-webkit-app-region: no-drag;
|
||||
margin: 5px;
|
||||
outline: none;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.text {
|
||||
text-align: center;
|
||||
font-size: 2vw;
|
||||
color: rgb(255, 2, 2);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.boxtext {
|
||||
margin-top: 5%;
|
||||
border-radius: 15px;
|
||||
background-color: #3d3d3d;
|
||||
width: 50%;
|
||||
padding: 3%;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.buttonClose:hover {
|
||||
|
||||
color: red;
|
||||
}
|
||||
|
||||
.buttonClose:active {
|
||||
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.buttonReduce {
|
||||
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease 0s;
|
||||
font-family: 'noto Sans', sans-serif;
|
||||
font-weight: 500;
|
||||
font-size: 13px;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
-webkit-app-region: no-drag;
|
||||
margin: 5px;
|
||||
outline: none;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.buttonReduce:hover {
|
||||
|
||||
color: rgb(46, 196, 255);
|
||||
}
|
||||
|
||||
.buttonReduce:active {
|
||||
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
|
||||
header {
|
||||
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.content {
|
||||
|
||||
padding: 5%;
|
||||
padding-top: 0;
|
||||
|
||||
}
|
||||
|
||||
.buttonFav {
|
||||
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease 0s;
|
||||
font-family: 'noto Sans', sans-serif;
|
||||
font-weight: 500;
|
||||
font-size: 13px;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
-webkit-app-region: no-drag;
|
||||
margin: 0;
|
||||
outline: none;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.buttonFav:hover {
|
||||
|
||||
color: rgb(242, 255, 53);
|
||||
}
|
||||
|
||||
.buttonFav:active {
|
||||
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.title-t {
|
||||
|
||||
width: +30%;
|
||||
margin-left: 1%;
|
||||
margin-top: 1%;
|
||||
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="./error.css">
|
||||
<title>Subsonics - Submanager</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="top-title">
|
||||
<img class="top-logo" src="./logo.png" alt="Logo">
|
||||
<img class="title-t" src="./title.png" alt="Logo">
|
||||
</div>
|
||||
<div class="boxtext">
|
||||
<p class="text">Echec de connexion par Discord !</p>
|
||||
<p class="text">Vous pouvez fermer cette fenêtre et réessayer !</p>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
Before Width: | Height: | Size: 8.0 KiB |
Binary file not shown.
Before Width: | Height: | Size: 13 KiB |
264
src/main.js
264
src/main.js
@ -7,7 +7,6 @@ if ("ENV" in process.env) {
|
||||
}
|
||||
|
||||
const log = require("./sublog.js")
|
||||
var membersVoices = new Map()
|
||||
|
||||
const nodes = [
|
||||
{
|
||||
@ -22,21 +21,17 @@ function startDiscordBot() {
|
||||
|
||||
|
||||
|
||||
const { Client, GatewayIntentBits, Collection, ActivityType } = require("discord.js")
|
||||
const { Client, GatewayIntentBits, Collection } = require("discord.js")
|
||||
const { REST, Routes } = require("discord.js")
|
||||
const fs = require("node:fs")
|
||||
const config = require("./config.json")
|
||||
const path = require("path")
|
||||
const { Manager } = require("erela.js")
|
||||
|
||||
|
||||
|
||||
const client = new Client({
|
||||
intents:[GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates, GatewayIntentBits.GuildMembers],
|
||||
intents:[GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates, GatewayIntentBits.GuildMembers]
|
||||
})
|
||||
|
||||
|
||||
|
||||
client.commands = new Collection()
|
||||
client.dictator = false;
|
||||
|
||||
@ -85,6 +80,7 @@ function startDiscordBot() {
|
||||
client.once("ready", () => {
|
||||
|
||||
log.bot("Le meilleur groupe de musique est prêt !")
|
||||
client.user.setActivity(`beaucoup de choses !`, { type: "LISTENING" })
|
||||
client.manager.init(client.user.id);
|
||||
|
||||
const commandManager = client.application.commands;
|
||||
@ -100,8 +96,6 @@ function startDiscordBot() {
|
||||
|
||||
client.on("voiceStateUpdate", (oldMember, newMember) => {
|
||||
|
||||
membersVoices.set(newMember.id, newMember.channelId)
|
||||
|
||||
let player = client.manager.players.get(oldMember.guild.id)
|
||||
|
||||
if(player) {
|
||||
@ -189,14 +183,6 @@ function startServer(client) {
|
||||
const fs = require("fs")
|
||||
const path = require("path")
|
||||
|
||||
app.use(express.static(__dirname + path.sep + 'error'))
|
||||
app.use(express.static(__dirname + path.sep + 'close'))
|
||||
|
||||
if(!fs.existsSync(__dirname + path.sep + "tokens.json")) {
|
||||
|
||||
fs.writeFileSync(__dirname + path.sep + "tokens.json", JSON.stringify({}, null, 2))
|
||||
|
||||
}
|
||||
|
||||
var link = null
|
||||
var discordlink = null
|
||||
@ -205,9 +191,9 @@ function startServer(client) {
|
||||
|
||||
log.server("DEV MOD ENABLED")
|
||||
link = "http://localhost:4000" //DEV
|
||||
discordlink = "https://discord.com/api/oauth2/authorize?client_id=1094727789682380922&redirect_uri=http%3A%2F%2Flocalhost%3A4000%2Fredirect&response_type=code&scope=identify%20guilds%20guilds.members.read" //DEV
|
||||
discordlink = "https://discord.com/api/oauth2/authorize?client_id=1094727789682380922&redirect_uri=http%3A%2F%2Flocalhost%3A4000%2Fredirect&response_type=code&scope=guilds%20identify" //DEV
|
||||
} else {
|
||||
discordlink = "https://discord.com/api/oauth2/authorize?client_id=1094727789682380922&redirect_uri=https%3A%2F%2Fsubsonics.raphix.fr%2Fredirect&response_type=code&scope=identify%20guilds%20guilds.members.read" //OFFICIEL
|
||||
discordlink = "https://discord.com/api/oauth2/authorize?client_id=1094727789682380922&redirect_uri=https%3A%2F%2Fsubsonics.raphix.fr%2Fredirect&response_type=code&scope=identify%20guilds" //OFFICIEL
|
||||
link = "https://subsonics.raphix.fr"
|
||||
}
|
||||
|
||||
@ -222,7 +208,6 @@ function startServer(client) {
|
||||
|
||||
function reimportUser() {
|
||||
|
||||
|
||||
const tokens = require(__dirname + path.sep + "tokens.json")
|
||||
|
||||
users = new Map()
|
||||
@ -262,7 +247,7 @@ function startServer(client) {
|
||||
|
||||
if(users.has(token)) {
|
||||
|
||||
log.server("Recherche avec les mots clés : " + value + " de musique de " + users.get(token).username)
|
||||
log.server("Recherche avec les mots clés : " + value + " de musique de " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
find()
|
||||
|
||||
@ -278,21 +263,12 @@ function startServer(client) {
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
var voiceChannel = "664355808250953739"
|
||||
|
||||
|
||||
if(membersVoices.has(users.get(token).id) && membersVoices.get(users.get(token).id) != null) {
|
||||
|
||||
voiceChannel = membersVoices.get(users.get(token).id)
|
||||
|
||||
}
|
||||
|
||||
if(!player) {
|
||||
|
||||
player = client.manager.create({
|
||||
guild: "137291455336022018",
|
||||
voiceChannel: voiceChannel,
|
||||
textChannel: voiceChannel,
|
||||
voiceChannel: "664355808250953739",
|
||||
textChannel: "664355808250953739",
|
||||
});
|
||||
|
||||
player.connect();
|
||||
@ -303,7 +279,7 @@ function startServer(client) {
|
||||
player.queue.add(songtrack.tracks[0])
|
||||
|
||||
|
||||
log.server("Lecture / Ajout du titre : " + songtrack.tracks[0].title + " de musique de " + users.get(token).username)
|
||||
log.server("Lecture / Ajout du titre : " + songtrack.tracks[0].title + " de musique de " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
if(!player.playing) {
|
||||
|
||||
@ -348,7 +324,7 @@ function startServer(client) {
|
||||
if(users.has(token)) {
|
||||
answer = true
|
||||
|
||||
log.server("Connexion au serveur par Token - SOCKET_ID : " + socket.id + " - DISCORD_USER : " + users.get(token).username)
|
||||
log.server("Connexion au serveur par Token - SOCKET_ID : " + socket.id + " - DISCORD_USER : " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
actualize()
|
||||
}
|
||||
|
||||
@ -356,27 +332,21 @@ function startServer(client) {
|
||||
})
|
||||
|
||||
socket.on("getState", (token) => {
|
||||
reimportUser()
|
||||
actualize()
|
||||
|
||||
const data = {
|
||||
"username":users.get(token).username,
|
||||
"avatar": users.get(token).avatar,
|
||||
"id": users.get(token).id,
|
||||
}
|
||||
|
||||
actualize()
|
||||
|
||||
socket.emit("updateState", data)
|
||||
|
||||
|
||||
|
||||
|
||||
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) => {
|
||||
if(users.has(token)) {
|
||||
|
||||
log.server("Mise en Play / Pause demandé par " + users.get(token).username)
|
||||
|
||||
log.server("Mise en Play / Pause demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
@ -406,7 +376,7 @@ function startServer(client) {
|
||||
if(users.has(token)) {
|
||||
|
||||
|
||||
log.server("Avancement demandé par " + users.get(token).username)
|
||||
log.server("Avancement demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
@ -427,7 +397,7 @@ function startServer(client) {
|
||||
if(users.has(token)) {
|
||||
|
||||
|
||||
log.server("Changement de volume demandé par " + users.get(token).username)
|
||||
log.server("Changement de volume demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
@ -448,7 +418,7 @@ function startServer(client) {
|
||||
if(users.has(token)) {
|
||||
|
||||
|
||||
log.server("Clear liste demandé par " + users.get(token).username)
|
||||
log.server("Clear liste demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
@ -465,55 +435,6 @@ function startServer(client) {
|
||||
|
||||
})
|
||||
|
||||
socket.on("report", (token, report) => {
|
||||
if(users.has(token)) {
|
||||
|
||||
const { EmbedBuilder } = require("discord.js")
|
||||
|
||||
log.server("Bug report demandé par " + users.get(token).username)
|
||||
var embed = null
|
||||
|
||||
if(report.type == "Bug") {
|
||||
embed = new EmbedBuilder()
|
||||
.setColor(0xff0000)
|
||||
.setTitle('Bug report de ' + users.get(token).username)
|
||||
.setDescription('**Version **' + report.version)
|
||||
.addFields({name: "Description", value: report.text})
|
||||
.setTimestamp();
|
||||
|
||||
|
||||
} else {
|
||||
embed = new EmbedBuilder()
|
||||
.setColor(0x0000ff)
|
||||
.setTitle('Suggestion de ' + users.get(token).username)
|
||||
.setDescription('**Version **' + report.version)
|
||||
.addFields({name: "Description", value: report.text})
|
||||
.setTimestamp();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
sendReport()
|
||||
async function sendReport() {
|
||||
const channel = await client.channels.fetch('1102177962817749033')
|
||||
|
||||
channel.send({embeds: [embed]})
|
||||
channel.send({content: "<@486943594893017119>"})
|
||||
|
||||
}
|
||||
socket.emit("reportAns", true)
|
||||
actualize()
|
||||
} else {
|
||||
|
||||
socket.emit("authFailed")
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
socket.on("deleteQueue", (token, identifier) => {
|
||||
|
||||
@ -523,7 +444,7 @@ function startServer(client) {
|
||||
|
||||
if(player) {
|
||||
|
||||
log.server("Supression (n°" + identifier + ") d'un morceau demandé par " + users.get(token).username )
|
||||
log.server("Supression (n°" + identifier + ") d'un morceau demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
player.queue.remove(identifier)
|
||||
|
||||
@ -538,38 +459,11 @@ function startServer(client) {
|
||||
|
||||
})
|
||||
|
||||
socket.on("moveQueue", (token, identifier) => {
|
||||
|
||||
if(users.has(token)) {
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
if(player) {
|
||||
|
||||
log.server("Déplacement (n°" + identifier + ") d'un morceau demandé par " + users.get(token).username )
|
||||
|
||||
|
||||
let elementToMove = player.queue[identifier];
|
||||
|
||||
player.queue.remove(identifier)
|
||||
player.queue.unshift(elementToMove);
|
||||
|
||||
|
||||
}
|
||||
|
||||
actualize()
|
||||
} else {
|
||||
socket.emit("authFailed")
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
socket.on("backward", (token) => {
|
||||
|
||||
if(users.has(token)) {
|
||||
|
||||
log.server("Retour arrière demandé par " + users.get(token).username)
|
||||
log.server("Retour arrière demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
@ -597,7 +491,7 @@ function startServer(client) {
|
||||
|
||||
if(users.has(token)) {
|
||||
|
||||
log.server("Skip demandé par " + users.get(token).username)
|
||||
log.server("Skip demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
@ -628,7 +522,7 @@ function startServer(client) {
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
log.server("Looping demandé par " + users.get(token).username)
|
||||
log.server("Looping demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
if(player) {
|
||||
|
||||
@ -655,7 +549,7 @@ function startServer(client) {
|
||||
|
||||
if(users.has(token)) {
|
||||
|
||||
log.server("Skip demandé par " + users.get(token).username)
|
||||
log.server("Skip demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
@ -677,7 +571,7 @@ function startServer(client) {
|
||||
|
||||
if(users.has(token)) {
|
||||
|
||||
log.server("Restart demandé par " + users.get(token).username)
|
||||
log.server("Restart demandé par " + users.get(token).username + "#" + users.get(token).discriminator)
|
||||
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
@ -763,13 +657,6 @@ function startServer(client) {
|
||||
|
||||
if(player) {
|
||||
|
||||
const { ActivityType } = require("discord.js")
|
||||
|
||||
client.user.setPresence({
|
||||
activities: [{ name: `rien pour le moment`, type: ActivityType.Listening }],
|
||||
status: 'dnd',
|
||||
});
|
||||
|
||||
data["current"] = player.queue.current
|
||||
|
||||
if(player.queueRepeat == true) {
|
||||
@ -783,12 +670,6 @@ function startServer(client) {
|
||||
if(player.queue.current) {
|
||||
data["durationNow"] = player.position
|
||||
data["durationAll"] = player.queue.current.duration
|
||||
|
||||
client.user.setPresence({
|
||||
activities: [{ name: player.queue.current.title, type: ActivityType.Listening }],
|
||||
status: 'dnd',
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -849,7 +730,7 @@ function startServer(client) {
|
||||
|
||||
if(req.query.error) {
|
||||
socket.emit("authFailed")
|
||||
res.sendFile(__dirname + path.sep + "error" + path.sep + "error.html")
|
||||
res.send("SubSonics Manager : ERREUR : DISCORD AUTH FAILED !")
|
||||
log.server("Discord Auth : Erreur - Refus de connexion chez le service Discord : Token de Connexion : " + token + " associé à Client ID : " + socket.id)
|
||||
|
||||
} else {
|
||||
@ -871,7 +752,7 @@ function startServer(client) {
|
||||
params.append('grant_type', 'authorization_code');
|
||||
params.append('code', code);
|
||||
params.append('redirect_uri', link + "/redirect");
|
||||
params.append('scope', 'identify guilds');
|
||||
params.append('scope', 'identify guild');
|
||||
|
||||
fetch('https://discord.com/api/oauth2/token', {
|
||||
method: "POST",
|
||||
@ -883,7 +764,7 @@ function startServer(client) {
|
||||
|
||||
|
||||
res.clearCookie("authLoginFollow")
|
||||
res.sendFile(__dirname + path.sep + "close" + path.sep + "close.html")
|
||||
res.send("SubSonics Manager : Vous pouvez fermer cette fenêtre ! Si rien ne ce passe sur l'application, prévenez Raphix !")
|
||||
|
||||
|
||||
} catch(error) {
|
||||
@ -892,7 +773,7 @@ function startServer(client) {
|
||||
}
|
||||
|
||||
} else {
|
||||
res.sendFile(__dirname + path.sep + "error" + path.sep + "error.html")
|
||||
res.send("SubSonics Manager : ERREUR : DISCORD AUTH FAILED !")
|
||||
|
||||
}
|
||||
|
||||
@ -900,13 +781,12 @@ function startServer(client) {
|
||||
}
|
||||
|
||||
} else {
|
||||
res.sendFile(__dirname + path.sep + "error" + path.sep + "error.html")
|
||||
res.send("SubSonics Manager : ERREUR : AUCUN TOKEN ENREGISTRÉ !")
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
res.sendFile(__dirname + path.sep + "error" + path.sep + "error.html")
|
||||
res.send("SubSonics Manager : ERREUR : AUCUN TOKEN ENREGISTRÉ !")
|
||||
|
||||
}
|
||||
|
||||
@ -918,68 +798,12 @@ function startServer(client) {
|
||||
|
||||
log.server("Discord Auth : REQUESTING DATA - TOKEN : " + token + " - DISCORD_ACCESS_TOKEN : " + response.access_token)
|
||||
|
||||
fetch('https://discord.com/api/users/@me/guilds/137291455336022018/member', {
|
||||
fetch('https://discord.com/api/users/@me', {
|
||||
headers: {
|
||||
authorization: `${response.token_type} ${response.access_token}`,
|
||||
},
|
||||
}).then(resp => resp.json()).then(resp => checkIdentity(resp, token, socket, response)).catch(error => log.server.error(error))
|
||||
}).then(resp => resp.json()).then(resp => addIdentity(resp, token, socket)).catch(error => log.server.error(error))
|
||||
|
||||
}
|
||||
|
||||
async function checkIdentity(servers, token, socket, creditentials) {
|
||||
|
||||
var checked = true
|
||||
|
||||
if(servers.message) {
|
||||
|
||||
checked = false
|
||||
console.log("Discord Auth - DENIED - NOT IN SERVER - Token : " + token)
|
||||
} else {
|
||||
|
||||
for(var role of servers.roles) {
|
||||
|
||||
if(role == "397725552968204288") {
|
||||
|
||||
checked = true
|
||||
|
||||
}
|
||||
|
||||
if(role == "172437570905571328") {
|
||||
|
||||
checked = true
|
||||
}
|
||||
|
||||
if(role == "226744358567804928") {
|
||||
|
||||
|
||||
checked = true
|
||||
|
||||
}
|
||||
|
||||
if(role == "220649460059996163") {
|
||||
|
||||
|
||||
checked = true
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(checked == true) {
|
||||
|
||||
console.log("Discord Auth - ACCESS GRANTED - Token : " + token)
|
||||
fetch('https://discord.com/api/users/@me', {
|
||||
headers: {
|
||||
authorization: `${creditentials.token_type} ${creditentials.access_token}`,
|
||||
},
|
||||
}).then(resp => resp.json()).then(resp => addIdentity(resp, token, socket)).catch(error => log.server.error(error))
|
||||
|
||||
} else {
|
||||
console.log("Discord Auth - DENIED - DONT HAVE RANK - Token : " + token)
|
||||
socket.emit("checkFailed")
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -989,24 +813,24 @@ function startServer(client) {
|
||||
|
||||
|
||||
|
||||
log.server("Discord Auth : [IDENTITE] : Nouvelle identité - SOCKET_ID : " + socket.id + " - DISCORD_USER : " + response.username)
|
||||
log.server("Discord Auth : [IDENTITE] : Nouvelle identité - SOCKET_ID : " + socket.id + " - DISCORD_USER : " + response.username + "#" + response.discriminator)
|
||||
|
||||
|
||||
const tokens = require(__dirname + path.sep + "tokens.json")
|
||||
|
||||
tokens[token] = response
|
||||
users.set(token, response)
|
||||
|
||||
await fs.writeFile(__dirname + path.sep + "tokens.json", JSON.stringify(tokens, null, 2), () => {
|
||||
await fs.writeFileSync(__dirname + path.sep + "tokens.json", JSON.stringify(tokens, null, 2))
|
||||
|
||||
await users.set(token, response)
|
||||
|
||||
|
||||
reimportUser()
|
||||
socket.emit("successLogin", token)
|
||||
actualize()
|
||||
authTokenWait.delete(token)
|
||||
|
||||
})
|
||||
|
||||
socket.emit("successLogin", token)
|
||||
actualize()
|
||||
|
||||
authTokenWait.delete(token)
|
||||
|
||||
}
|
||||
|
||||
|
202
src/tokens.json
202
src/tokens.json
@ -1,5 +1,5 @@
|
||||
{
|
||||
"6bde63c8-6b74-4fb5-98d8-87c8c203c16b": {
|
||||
"68e45a4a-0f46-4a0c-b4aa-efac9439b0cc": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -16,7 +16,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"3bdca403-b9d2-47b8-b9c4-3818b324a76f": {
|
||||
"d13687de-adcd-454b-8f82-d5a67f1aefda": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -33,7 +33,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"aac35fb6-5c16-4d29-a1e6-6abc43ce5008": {
|
||||
"3410460a-ff5c-4075-901c-13660ffd496d": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -50,7 +50,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"750f0802-7d9c-4263-b2dd-f27d47029e8b": {
|
||||
"af09802f-fa3a-4ebe-8b34-51a6375408d1": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -67,7 +67,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"c416c176-157e-40a9-ae32-23cfcf812dd4": {
|
||||
"5be82e44-2ecf-4f1c-8850-37886e15937b": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -84,7 +84,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"5ef772f4-e729-4ccc-9c23-25d7cc4b2c64": {
|
||||
"1c62461d-7cc9-44e2-a42a-6fae79baabb6": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -101,7 +101,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"b5b7d954-49b6-43b4-a237-08e41f3e6f58": {
|
||||
"cdba02f4-3473-4c76-8567-ef8965e0c211": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -118,7 +118,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"27e00135-65fa-43d5-820c-e35bb906d47c": {
|
||||
"73f031a3-6280-4836-89d1-09080d1a74c2": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -135,7 +135,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"04cb0b39-a29e-4dc2-a6e8-31651a4382a5": {
|
||||
"c3b40227-5112-421d-8f2b-46a30a87cbca": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -152,7 +152,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"e79cbf92-0e97-4522-9430-54e87a1998d3": {
|
||||
"599c640c-b8bd-44b1-9b27-d87a5ab68cf7": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -169,7 +169,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"da77741c-e550-43f0-b4e8-86060fd7e784": {
|
||||
"a078d4ab-28c5-4b01-b3f8-c6b29f4c4141": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -186,7 +186,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"c89a8d5c-a5f7-409a-9ca5-3d27f40bc073": {
|
||||
"5283c6a7-11b2-4454-b6a5-afecb7169d7f": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -203,7 +203,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"6726b668-25f4-4d3f-8440-b6a4cc002c7d": {
|
||||
"8e4dec3f-82c0-4bd2-a9fb-9ecf64f8aac3": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -220,7 +220,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"41769f38-1cab-44b9-b96f-09261fe5c3d0": {
|
||||
"629133a4-f205-4401-a026-639aee65695d": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -237,7 +237,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"cc20f4c2-9b35-4846-9b00-e3d09be6e273": {
|
||||
"002e5b9d-4b23-4444-97f0-4bd46ac6f36e": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
@ -254,177 +254,7 @@
|
||||
"premium_type": 0,
|
||||
"avatar_decoration": null
|
||||
},
|
||||
"39faa9aa-e569-498b-8a7f-0dc59a871499": {
|
||||
"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
|
||||
},
|
||||
"3c1e29d2-5678-4799-a658-6a4b2c928a4e": {
|
||||
"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
|
||||
},
|
||||
"a4e19e96-9810-410b-a8c4-9952c334d2f0": {
|
||||
"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
|
||||
},
|
||||
"af666d26-811e-4bb6-832f-aef39dec9578": {
|
||||
"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
|
||||
},
|
||||
"fe83ad11-88c5-4642-96ec-d115ce3346bf": {
|
||||
"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
|
||||
},
|
||||
"e9dc3b80-44d2-4caf-a688-b37af348518a": {
|
||||
"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
|
||||
},
|
||||
"bcd84469-7d83-4343-ae87-5f2d28e4d2ce": {
|
||||
"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
|
||||
},
|
||||
"bf7dcd93-9efe-40f4-9037-aef9dfea6a5c": {
|
||||
"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
|
||||
},
|
||||
"867f8379-3927-42b2-85e8-4df3ced2eddb": {
|
||||
"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
|
||||
},
|
||||
"75a3e38c-eed5-462c-bde8-067dd16ca391": {
|
||||
"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
|
||||
},
|
||||
"d35acbb8-4a3b-4286-8df6-2ab61cb2c74e": {
|
||||
"4a94dd0d-d022-499e-acdf-396d9a1c3291": {
|
||||
"id": "486943594893017119",
|
||||
"username": "Raphix",
|
||||
"global_name": null,
|
||||
|
Loading…
Reference in New Issue
Block a user