From b6f3ee262b7a33db9c19aaaf80468e005c149361 Mon Sep 17 00:00:00 2001 From: Louis Mazin Date: Tue, 14 Apr 2026 22:53:22 +0200 Subject: [PATCH] test new arch --- .env.example | 2 +- commands/server/ram-status.js | 2 +- commands/server/server-clean.js | 4 ++-- commands/server/server-stats.js | 2 +- commands/utility/afficher-inactifs.js | 2 +- commands/utility/afficher-lies.js | 2 +- commands/utility/delier-rygainland.js | 2 +- commands/utility/delier.js | 2 +- commands/utility/diagnostique-ws.js | 2 +- commands/utility/info.js | 2 +- commands/utility/lier-rygainland.js | 2 +- commands/utility/lier.js | 4 ++-- commands/utility/panel.js | 6 +++--- index.js | 14 +++++++------- package.json | 2 +- .../bridge/palworld-bridge.js | 2 +- database.js => src/core/database.js | 0 deploy_command.js => src/discord/deploy_command.js | 2 +- .../monitoring/consoleMonitor.js | 6 +++--- ramMonitor.js => src/monitoring/ramMonitor.js | 2 +- cleaner.js => src/pterodactyl/cleaner.js | 0 displayer.js => src/pterodactyl/displayer.js | 0 .../pterodactyl/pterodactylFiles.js | 0 23 files changed, 31 insertions(+), 31 deletions(-) rename palworld-bridge.js => src/bridge/palworld-bridge.js (99%) rename database.js => src/core/database.js (100%) rename deploy_command.js => src/discord/deploy_command.js (96%) rename consoleMonitor.js => src/monitoring/consoleMonitor.js (99%) rename ramMonitor.js => src/monitoring/ramMonitor.js (99%) rename cleaner.js => src/pterodactyl/cleaner.js (100%) rename displayer.js => src/pterodactyl/displayer.js (100%) rename pterodactylFiles.js => src/pterodactyl/pterodactylFiles.js (100%) diff --git a/.env.example b/.env.example index 53f481b..9782d5d 100644 --- a/.env.example +++ b/.env.example @@ -1,7 +1,7 @@ # Configuration Discord DISCORD_TOKEN=votre_token_discord GUILD_ID=votre_guild_id -BRIDGE_CHANNEL_ID=1467491354924814411 +BRIDGE_CHANNEL_ID=1234567891234567891 # Configuration Pterodactyl PTERODACTYL_API_URL=https://votre-panel.com diff --git a/commands/server/ram-status.js b/commands/server/ram-status.js index 3f9eb91..d3bb63a 100644 --- a/commands/server/ram-status.js +++ b/commands/server/ram-status.js @@ -1,5 +1,5 @@ const { SlashCommandBuilder } = require('discord.js'); -const { checkRAMUsage, getMonitoringStatus } = require('../../ramMonitor.js'); +const { checkRAMUsage, getMonitoringStatus } = require('../../src/monitoring/ramMonitor.js'); module.exports = { data: new SlashCommandBuilder() diff --git a/commands/server/server-clean.js b/commands/server/server-clean.js index 4aa4d78..397b009 100644 --- a/commands/server/server-clean.js +++ b/commands/server/server-clean.js @@ -6,7 +6,7 @@ const path = require('node:path'); const { execFile } = require('node:child_process'); const { promisify } = require('node:util'); -const { getAllLinks } = require('../../database.js'); +const { getAllLinks } = require('../../src/core/database.js'); const { defaultBaseUrl, defaultServerId, @@ -14,7 +14,7 @@ const { downloadFile, uploadSingleFile, deleteFiles, -} = require('../../pterodactylFiles.js'); +} = require('../../src/pterodactyl/pterodactylFiles.js'); const execFileAsync = promisify(execFile); diff --git a/commands/server/server-stats.js b/commands/server/server-stats.js index 8aa1f21..a9f32bd 100644 --- a/commands/server/server-stats.js +++ b/commands/server/server-stats.js @@ -1,7 +1,7 @@ const axios = require('axios'); const { SlashCommandBuilder } = require('discord.js'); const { EmbedBuilder } = require('discord.js'); -const { checkRAMUsage } = require('../../ramMonitor'); +const { checkRAMUsage } = require('../../src/monitoring/ramMonitor'); const getPlayersNumberAndFPS = (token) => { return new Promise((resolve, reject) => { diff --git a/commands/utility/afficher-inactifs.js b/commands/utility/afficher-inactifs.js index 8fd1d3e..5fc8344 100644 --- a/commands/utility/afficher-inactifs.js +++ b/commands/utility/afficher-inactifs.js @@ -1,5 +1,5 @@ const { SlashCommandBuilder, EmbedBuilder, MessageFlags } = require('discord.js'); -const { getAllLinks } = require('../../database.js'); +const { getAllLinks } = require('../../src/core/database.js'); module.exports = { data: new SlashCommandBuilder() diff --git a/commands/utility/afficher-lies.js b/commands/utility/afficher-lies.js index c3bfec3..5ea87c9 100644 --- a/commands/utility/afficher-lies.js +++ b/commands/utility/afficher-lies.js @@ -1,5 +1,5 @@ const { SlashCommandBuilder, EmbedBuilder, MessageFlags } = require('discord.js'); -const { getAllLinks } = require('../../database.js'); +const { getAllLinks } = require('../../src/core/database.js'); module.exports = { data: new SlashCommandBuilder() diff --git a/commands/utility/delier-rygainland.js b/commands/utility/delier-rygainland.js index f637859..684d51e 100644 --- a/commands/utility/delier-rygainland.js +++ b/commands/utility/delier-rygainland.js @@ -1,5 +1,5 @@ const { SlashCommandBuilder, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, MessageFlags } = require('discord.js'); -const { getUserLink, deleteUserLink } = require('../../database.js'); +const { getUserLink, deleteUserLink } = require('../../src/core/database.js'); module.exports = { data: new SlashCommandBuilder() diff --git a/commands/utility/delier.js b/commands/utility/delier.js index 06b4e5b..92655f5 100644 --- a/commands/utility/delier.js +++ b/commands/utility/delier.js @@ -1,5 +1,5 @@ const { SlashCommandBuilder, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, MessageFlags } = require('discord.js'); -const { getUserLink, deleteUserLink } = require('../../database.js'); +const { getUserLink, deleteUserLink } = require('../../src/core/database.js'); module.exports = { data: new SlashCommandBuilder() diff --git a/commands/utility/diagnostique-ws.js b/commands/utility/diagnostique-ws.js index 24004d1..934aad0 100644 --- a/commands/utility/diagnostique-ws.js +++ b/commands/utility/diagnostique-ws.js @@ -1,5 +1,5 @@ const { SlashCommandBuilder, EmbedBuilder, MessageFlags } = require('discord.js'); -const { getWebSocketStatus, forceWebSocketReconnect } = require('../../consoleMonitor.js'); +const { getWebSocketStatus, forceWebSocketReconnect } = require('../../src/monitoring/consoleMonitor.js'); module.exports = { data: new SlashCommandBuilder() diff --git a/commands/utility/info.js b/commands/utility/info.js index 9fc9c69..29bdfd6 100644 --- a/commands/utility/info.js +++ b/commands/utility/info.js @@ -1,5 +1,5 @@ const { SlashCommandBuilder, EmbedBuilder, MessageFlags } = require('discord.js'); -const { getUserLink } = require('../../database.js'); +const { getUserLink } = require('../../src/core/database.js'); module.exports = { data: new SlashCommandBuilder() diff --git a/commands/utility/lier-rygainland.js b/commands/utility/lier-rygainland.js index 385e227..d2de40c 100644 --- a/commands/utility/lier-rygainland.js +++ b/commands/utility/lier-rygainland.js @@ -1,5 +1,5 @@ const { SlashCommandBuilder, EmbedBuilder, MessageFlags } = require('discord.js'); -const { generateLinkCode, getUserLink } = require('../../database.js'); +const { generateLinkCode, getUserLink } = require('../../src/core/database.js'); module.exports = { data: new SlashCommandBuilder() diff --git a/commands/utility/lier.js b/commands/utility/lier.js index a4559ee..ac80cc9 100644 --- a/commands/utility/lier.js +++ b/commands/utility/lier.js @@ -1,5 +1,5 @@ const { SlashCommandBuilder, EmbedBuilder, MessageFlags } = require('discord.js'); -const { verifyLinkCode, updateUserLinkWithUsername } = require('../../database.js'); +const { verifyLinkCode, updateUserLinkWithUsername } = require('../../src/core/database.js'); const axios = require('axios'); module.exports = { @@ -56,7 +56,7 @@ module.exports = { } // Créer un code temporaire pour la liaison manuelle - const { generateLinkCode } = require('../../database.js'); + const { generateLinkCode } = require('../../src/core/database.js'); const code = await generateLinkCode(discordUser.id); // Effectuer la liaison immédiatement diff --git a/commands/utility/panel.js b/commands/utility/panel.js index 16c342a..a8f9d09 100644 --- a/commands/utility/panel.js +++ b/commands/utility/panel.js @@ -1,6 +1,6 @@ const { SlashCommandBuilder, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, StringSelectMenuBuilder } = require('discord.js'); -const { getConfig, updateConfig, getAllConfig } = require('../../database'); -const { getMonitoringStatus } = require('../../ramMonitor'); +const { getConfig, updateConfig, getAllConfig } = require('../../src/core/database'); +const { getMonitoringStatus } = require('../../src/monitoring/ramMonitor'); module.exports = { data: new SlashCommandBuilder() @@ -137,7 +137,7 @@ async function buildPanelPayload() { async function buildStatsPayload() { const config = await getAllConfig(); const monitoringStatus = getMonitoringStatus(); - const { checkRAMUsage } = require('../../ramMonitor'); + const { checkRAMUsage } = require('../../src/monitoring/ramMonitor'); const ramData = await checkRAMUsage(); diff --git a/index.js b/index.js index 0468fb4..d079faa 100644 --- a/index.js +++ b/index.js @@ -2,14 +2,14 @@ require('dotenv').config(); const fs = require('node:fs'); const deepl = require('deepl-node'); const path = require('node:path'); -const deploy = require('./deploy_command.js') -const update = require('./displayer.js'); -const clean = require('./cleaner.js'); +const deploy = require('./src/discord/deploy_command.js') +const update = require('./src/pterodactyl/displayer.js'); +const clean = require('./src/pterodactyl/cleaner.js'); const { Client, GatewayIntentBits, Collection, Events, Partials } = require('discord.js'); -const { initDatabase, createTables, cleanExpiredCodes } = require('./database.js'); -const { startConsoleMonitoring, forceWebSocketReconnect } = require('./consoleMonitor.js'); -const { initPalworldBridge } = require('./palworld-bridge.js'); -const { startRAMMonitoring } = require('./ramMonitor.js'); +const { initDatabase, createTables, cleanExpiredCodes } = require('./src/core/database.js'); +const { startConsoleMonitoring, forceWebSocketReconnect } = require('./src/monitoring/consoleMonitor.js'); +const { initPalworldBridge } = require('./src/bridge/palworld-bridge.js'); +const { startRAMMonitoring } = require('./src/monitoring/ramMonitor.js'); const client = new Client({ intents: [ diff --git a/package.json b/package.json index b3abc59..81f2e5b 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "main": "index.js", "scripts": { - "deploy": "deploy_command.js" + "deploy": "node src/discord/deploy_command.js" }, "keywords": [], "author": "", diff --git a/palworld-bridge.js b/src/bridge/palworld-bridge.js similarity index 99% rename from palworld-bridge.js rename to src/bridge/palworld-bridge.js index dbacb74..8d98432 100644 --- a/palworld-bridge.js +++ b/src/bridge/palworld-bridge.js @@ -1,5 +1,5 @@ const axios = require('axios'); -const { getUserLink, getAllLinks } = require('./database.js'); +const { getUserLink, getAllLinks } = require('../core/database.js'); let bridgeClient = null; let bridgeChannelId = null; diff --git a/database.js b/src/core/database.js similarity index 100% rename from database.js rename to src/core/database.js diff --git a/deploy_command.js b/src/discord/deploy_command.js similarity index 96% rename from deploy_command.js rename to src/discord/deploy_command.js index 5b105b6..3595a60 100644 --- a/deploy_command.js +++ b/src/discord/deploy_command.js @@ -4,7 +4,7 @@ const path = require('node:path'); module.exports = (token) => { const commands = []; // Grab all the command folders from the commands directory you created earlier - const foldersPath = path.join(__dirname, 'commands'); + const foldersPath = path.join(__dirname, '../../commands'); const commandFolders = fs.readdirSync(foldersPath); for (const folder of commandFolders) { diff --git a/consoleMonitor.js b/src/monitoring/consoleMonitor.js similarity index 99% rename from consoleMonitor.js rename to src/monitoring/consoleMonitor.js index b82f9e7..43aa9eb 100644 --- a/consoleMonitor.js +++ b/src/monitoring/consoleMonitor.js @@ -1,7 +1,7 @@ const axios = require('axios'); const WebSocket = require('ws'); -const { verifyLinkCode, updateUserLinkWithUsername, updateLastConnection } = require('./database.js'); -const { handlePalworldChat } = require('./palworld-bridge.js'); +const { verifyLinkCode, updateUserLinkWithUsername, updateLastConnection } = require('../core/database.js'); +const { handlePalworldChat } = require('../bridge/palworld-bridge.js'); let ws = null; let reconnectTimeout = null; @@ -236,7 +236,7 @@ const pollPlayersAndDetectDisconnects = async (serverState = null) => { }; const checkAndManageWebSocket = async () => { - const { cleanExpiredCodes } = require('./database.js'); + const { cleanExpiredCodes } = require('../core/database.js'); try { await cleanExpiredCodes(); diff --git a/ramMonitor.js b/src/monitoring/ramMonitor.js similarity index 99% rename from ramMonitor.js rename to src/monitoring/ramMonitor.js index e8b7b05..5afe481 100644 --- a/ramMonitor.js +++ b/src/monitoring/ramMonitor.js @@ -1,5 +1,5 @@ const axios = require('axios'); -const { getConfig } = require('./database'); +const { getConfig } = require('../core/database'); let isMonitoring = false; let checkInterval = null; diff --git a/cleaner.js b/src/pterodactyl/cleaner.js similarity index 100% rename from cleaner.js rename to src/pterodactyl/cleaner.js diff --git a/displayer.js b/src/pterodactyl/displayer.js similarity index 100% rename from displayer.js rename to src/pterodactyl/displayer.js diff --git a/pterodactylFiles.js b/src/pterodactyl/pterodactylFiles.js similarity index 100% rename from pterodactylFiles.js rename to src/pterodactyl/pterodactylFiles.js