diff --git a/bdd/alive.js b/bdd/alive.js index b3b9c6e..57971c9 100644 --- a/bdd/alive.js +++ b/bdd/alive.js @@ -1,92 +1,92 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -// Créez une pool de connexions PostgreSQL -const pool = new Pool(proConfig); - -// Fonction pour créer la table "alive" avec une colonne "id" -const creerTableAlive = async () => { - try { - await pool.query(` - CREATE TABLE IF NOT EXISTS alive ( - id serial PRIMARY KEY, - message text, - lien text - ); - `); - console.log("La table 'alive' a été créée avec succès."); - } catch (e) { - console.error("Une erreur est survenue lors de la création de la table 'alive':", e); - } - }; - - // Appelez la méthode pour créer la table "alive" - creerTableAlive(); - -// Fonction pour ajouter ou mettre à jour un enregistrement dans la table "alive" -async function addOrUpdateDataInAlive(message, lien) { - const client = await pool.connect(); - try { - // Insérez ou mettez à jour les données dans la table "alive" - const query = ` - INSERT INTO alive (id, message, lien) - VALUES (1, $1, $2) - ON CONFLICT (id) - DO UPDATE SET message = excluded.message, lien = excluded.lien; - `; - const values = [message, lien]; - - await client.query(query, values); - console.log("Données ajoutées ou mises à jour dans la table 'alive' avec succès."); - } catch (error) { - console.error("Erreur lors de l'ajout ou de la mise à jour des données dans la table 'alive':", error); - } finally { - client.release(); - } - }; - - - async function getDataFromAlive() { - const client = await pool.connect(); - try { - // Exécutez la requête SELECT pour récupérer les données - const query = "SELECT message, lien FROM alive WHERE id = 1"; - const result = await client.query(query); - - if (result.rows.length > 0) { - const { message, lien } = result.rows[0]; - return { message, lien }; - } else { - console.log("Aucune donnée trouvée dans la table 'alive'."); - return null; - } - } catch (error) { - console.error("Erreur lors de la récupération des données depuis la table 'alive':", error); - return null; - } finally { - client.release(); - } - }; - - - - - module.exports = { - addOrUpdateDataInAlive, - getDataFromAlive, - - }; +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +// Créez une pool de connexions PostgreSQL +const pool = new Pool(proConfig); + +// Fonction pour créer la table "alive" avec une colonne "id" +const creerTableAlive = async () => { + try { + await pool.query(` + CREATE TABLE IF NOT EXISTS alive ( + id serial PRIMARY KEY, + message text, + lien text + ); + `); + console.log("La table 'alive' a été créée avec succès."); + } catch (e) { + console.error("Une erreur est survenue lors de la création de la table 'alive':", e); + } + }; + + // Appelez la méthode pour créer la table "alive" + creerTableAlive(); + +// Fonction pour ajouter ou mettre à jour un enregistrement dans la table "alive" +async function addOrUpdateDataInAlive(message, lien) { + const client = await pool.connect(); + try { + // Insérez ou mettez à jour les données dans la table "alive" + const query = ` + INSERT INTO alive (id, message, lien) + VALUES (1, $1, $2) + ON CONFLICT (id) + DO UPDATE SET message = excluded.message, lien = excluded.lien; + `; + const values = [message, lien]; + + await client.query(query, values); + console.log("Données ajoutées ou mises à jour dans la table 'alive' avec succès."); + } catch (error) { + console.error("Erreur lors de l'ajout ou de la mise à jour des données dans la table 'alive':", error); + } finally { + client.release(); + } + }; + + + async function getDataFromAlive() { + const client = await pool.connect(); + try { + // Exécutez la requête SELECT pour récupérer les données + const query = "SELECT message, lien FROM alive WHERE id = 1"; + const result = await client.query(query); + + if (result.rows.length > 0) { + const { message, lien } = result.rows[0]; + return { message, lien }; + } else { + console.log("Aucune donnée trouvée dans la table 'alive'."); + return null; + } + } catch (error) { + console.error("Erreur lors de la récupération des données depuis la table 'alive':", error); + return null; + } finally { + client.release(); + } + }; + + + + + module.exports = { + addOrUpdateDataInAlive, + getDataFromAlive, + + }; diff --git a/bdd/antibot.js b/bdd/antibot.js index 73bf248..518f336 100644 --- a/bdd/antibot.js +++ b/bdd/antibot.js @@ -1,153 +1,153 @@ -require("dotenv").config(); -const { Pool } = require("pg"); -let s =require("../set") -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" - -const proConfig = { - connectionString:dbUrl , - ssl: { - rejectUnauthorized: false, - }, -}; - -const pool = new Pool(proConfig); - - -// Fonction pour créer la table "antibot" -async function createAntibotTable() { - const client = await pool.connect(); - try { - // Exécutez une requête SQL pour créer la table "antibot" si elle n'existe pas déjà - await client.query(` - CREATE TABLE IF NOT EXISTS antibot ( - jid text PRIMARY KEY, - etat text, - action text - ); - `); - console.log("La table 'antibot' a été créée avec succès."); - } catch (error) { - console.error("Une erreur est survenue lors de la création de la table 'antibot':", error); - } finally { - client.release(); - } -} - -// Appelez la méthode pour créer la table "antibot" -createAntibotTable(); - - - -async function atbajouterOuMettreAJourJid(jid, etat) { - const client = await pool.connect(); - - try { - // Vérifiez si le jid existe déjà dans la table 'antilien' - const result = await client.query('SELECT * FROM antibot WHERE jid = $1', [jid]); - const jidExiste = result.rows.length > 0; - - if (jidExiste) { - // Si le jid existe, mettez à jour l'état avec la valeur passée en argument - await client.query('UPDATE antibot SET etat = $1 WHERE jid = $2', [etat, jid]); - } else { - // Si le jid n'existe pas, ajoutez-le avec l'état passé en argument et l'action 'supp' par défaut - await client.query('INSERT INTO antibot (jid, etat, action) VALUES ($1, $2, $3)', [jid, etat, 'supp']); - } - - console.log(`JID ${jid} ajouté ou mis à jour avec succès dans la table 'antibot'.`); - } catch (error) { - console.error('Erreur lors de l\'ajout ou de la mise à jour du JID dans la table ,', error); - } finally { - client.release(); - } -}; - - -async function atbmettreAJourAction(jid, action) { - const client = await pool.connect(); - - try { - // Vérifiez si le jid existe déjà dans la table 'antilien' - const result = await client.query('SELECT * FROM antibot WHERE jid = $1', [jid]); - const jidExiste = result.rows.length > 0; - - if (jidExiste) { - // Si le jid existe, mettez à jour l'action avec la valeur fournie (et laissez l'état inchangé) - await client.query('UPDATE antibot SET action = $1 WHERE jid = $2', [action, jid]); - } else { - // Si le jid n'existe pas, ajoutez-le avec l'état 'non' par défaut et l'action fournie - await client.query('INSERT INTO antibot (jid, etat, action) VALUES ($1, $2, $3)', [jid, 'non', action]); - } - - console.log(`Action mise à jour avec succès pour le JID ${jid} dans la table 'antibot'.`); - } catch (error) { - console.error('Erreur lors de la mise à jour de l\'action pour le JID dans la table :', error); - } finally { - client.release(); - } -}; - - - -async function atbverifierEtatJid(jid) { - const client = await pool.connect(); - - try { - // Recherchez le JID dans la table 'antilien' et récupérez son état - const result = await client.query('SELECT etat FROM antibot WHERE jid = $1', [jid]); - - if (result.rows.length > 0) { - const etat = result.rows[0].etat; - return etat === 'oui'; - } else { - // Si le JID n'existe pas dans la table, il n'est pas enregistré comme "oui" - return false; - } - } catch (error) { - console.error('Erreur lors de la vérification de l\'état du JID dans la table ', error); - return false; - } finally { - client.release(); - } -}; - -async function atbrecupererActionJid(jid) { - const client = await pool.connect(); - - try { - // Recherchez le JID dans la table 'antilien' et récupérez son action - const result = await client.query('SELECT action FROM antibot WHERE jid = $1', [jid]); - - if (result.rows.length > 0) { - const action = result.rows[0].action; - return action; - } else { - // Si le JID n'existe pas dans la table, retournez une valeur par défaut (par exemple, 'supp') - return 'supp'; - } - } catch (error) { - console.error('Erreur lors de la récupération de l\'action du JID dans la table :', error); - return 'supp'; // Gestion de l'erreur en retournant une valeur par défaut - } finally { - client.release(); - } -}; - - - - - -module.exports = { - atbmettreAJourAction, - atbajouterOuMettreAJourJid, - atbverifierEtatJid, - atbrecupererActionJid, -}; - - - - - - - - +require("dotenv").config(); +const { Pool } = require("pg"); +let s =require("../set") +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" + +const proConfig = { + connectionString:dbUrl , + ssl: { + rejectUnauthorized: false, + }, +}; + +const pool = new Pool(proConfig); + + +// Fonction pour créer la table "antibot" +async function createAntibotTable() { + const client = await pool.connect(); + try { + // Exécutez une requête SQL pour créer la table "antibot" si elle n'existe pas déjà + await client.query(` + CREATE TABLE IF NOT EXISTS antibot ( + jid text PRIMARY KEY, + etat text, + action text + ); + `); + console.log("La table 'antibot' a été créée avec succès."); + } catch (error) { + console.error("Une erreur est survenue lors de la création de la table 'antibot':", error); + } finally { + client.release(); + } +} + +// Appelez la méthode pour créer la table "antibot" +createAntibotTable(); + + + +async function atbajouterOuMettreAJourJid(jid, etat) { + const client = await pool.connect(); + + try { + // Vérifiez si le jid existe déjà dans la table 'antilien' + const result = await client.query('SELECT * FROM antibot WHERE jid = $1', [jid]); + const jidExiste = result.rows.length > 0; + + if (jidExiste) { + // Si le jid existe, mettez à jour l'état avec la valeur passée en argument + await client.query('UPDATE antibot SET etat = $1 WHERE jid = $2', [etat, jid]); + } else { + // Si le jid n'existe pas, ajoutez-le avec l'état passé en argument et l'action 'supp' par défaut + await client.query('INSERT INTO antibot (jid, etat, action) VALUES ($1, $2, $3)', [jid, etat, 'supp']); + } + + console.log(`JID ${jid} ajouté ou mis à jour avec succès dans la table 'antibot'.`); + } catch (error) { + console.error('Erreur lors de l\'ajout ou de la mise à jour du JID dans la table ,', error); + } finally { + client.release(); + } +}; + + +async function atbmettreAJourAction(jid, action) { + const client = await pool.connect(); + + try { + // Vérifiez si le jid existe déjà dans la table 'antilien' + const result = await client.query('SELECT * FROM antibot WHERE jid = $1', [jid]); + const jidExiste = result.rows.length > 0; + + if (jidExiste) { + // Si le jid existe, mettez à jour l'action avec la valeur fournie (et laissez l'état inchangé) + await client.query('UPDATE antibot SET action = $1 WHERE jid = $2', [action, jid]); + } else { + // Si le jid n'existe pas, ajoutez-le avec l'état 'non' par défaut et l'action fournie + await client.query('INSERT INTO antibot (jid, etat, action) VALUES ($1, $2, $3)', [jid, 'non', action]); + } + + console.log(`Action mise à jour avec succès pour le JID ${jid} dans la table 'antibot'.`); + } catch (error) { + console.error('Erreur lors de la mise à jour de l\'action pour le JID dans la table :', error); + } finally { + client.release(); + } +}; + + + +async function atbverifierEtatJid(jid) { + const client = await pool.connect(); + + try { + // Recherchez le JID dans la table 'antilien' et récupérez son état + const result = await client.query('SELECT etat FROM antibot WHERE jid = $1', [jid]); + + if (result.rows.length > 0) { + const etat = result.rows[0].etat; + return etat === 'oui'; + } else { + // Si le JID n'existe pas dans la table, il n'est pas enregistré comme "oui" + return false; + } + } catch (error) { + console.error('Erreur lors de la vérification de l\'état du JID dans la table ', error); + return false; + } finally { + client.release(); + } +}; + +async function atbrecupererActionJid(jid) { + const client = await pool.connect(); + + try { + // Recherchez le JID dans la table 'antilien' et récupérez son action + const result = await client.query('SELECT action FROM antibot WHERE jid = $1', [jid]); + + if (result.rows.length > 0) { + const action = result.rows[0].action; + return action; + } else { + // Si le JID n'existe pas dans la table, retournez une valeur par défaut (par exemple, 'supp') + return 'supp'; + } + } catch (error) { + console.error('Erreur lors de la récupération de l\'action du JID dans la table :', error); + return 'supp'; // Gestion de l'erreur en retournant une valeur par défaut + } finally { + client.release(); + } +}; + + + + + +module.exports = { + atbmettreAJourAction, + atbajouterOuMettreAJourJid, + atbverifierEtatJid, + atbrecupererActionJid, +}; + + + + + + + + diff --git a/bdd/antilien.js b/bdd/antilien.js index 7dc200d..4ccead5 100644 --- a/bdd/antilien.js +++ b/bdd/antilien.js @@ -1,153 +1,153 @@ -require("dotenv").config(); -const { Pool } = require("pg"); -let s =require("../set") -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" - -const proConfig = { - connectionString:dbUrl , - ssl: { - rejectUnauthorized: false, - }, -}; - -const pool = new Pool(proConfig); - - -// Fonction pour créer la table "antilien" -async function createAntilienTable() { - const client = await pool.connect(); - try { - // Exécutez une requête SQL pour créer la table "antilien" si elle n'existe pas déjà - await client.query(` - CREATE TABLE IF NOT EXISTS antilien ( - jid text PRIMARY KEY, - etat text, - action text - ); - `); - console.log("La table 'antilien' a été créée avec succès."); - } catch (error) { - console.error("Une erreur est survenue lors de la création de la table 'antilien':", error); - } finally { - client.release(); - } -} - -// Appelez la méthode pour créer la table "antilien" -createAntilienTable(); - - - -async function ajouterOuMettreAJourJid(jid, etat) { - const client = await pool.connect(); - - try { - // Vérifiez si le jid existe déjà dans la table 'antilien' - const result = await client.query('SELECT * FROM antilien WHERE jid = $1', [jid]); - const jidExiste = result.rows.length > 0; - - if (jidExiste) { - // Si le jid existe, mettez à jour l'état avec la valeur passée en argument - await client.query('UPDATE antilien SET etat = $1 WHERE jid = $2', [etat, jid]); - } else { - // Si le jid n'existe pas, ajoutez-le avec l'état passé en argument et l'action 'supp' par défaut - await client.query('INSERT INTO antilien (jid, etat, action) VALUES ($1, $2, $3)', [jid, etat, 'supp']); - } - - console.log(`JID ${jid} ajouté ou mis à jour avec succès dans la table 'antilien'.`); - } catch (error) { - console.error('Erreur lors de l\'ajout ou de la mise à jour du JID dans la table ,', error); - } finally { - client.release(); - } -}; - - -async function mettreAJourAction(jid, action) { - const client = await pool.connect(); - - try { - // Vérifiez si le jid existe déjà dans la table 'antilien' - const result = await client.query('SELECT * FROM antilien WHERE jid = $1', [jid]); - const jidExiste = result.rows.length > 0; - - if (jidExiste) { - // Si le jid existe, mettez à jour l'action avec la valeur fournie (et laissez l'état inchangé) - await client.query('UPDATE antilien SET action = $1 WHERE jid = $2', [action, jid]); - } else { - // Si le jid n'existe pas, ajoutez-le avec l'état 'non' par défaut et l'action fournie - await client.query('INSERT INTO antilien (jid, etat, action) VALUES ($1, $2, $3)', [jid, 'non', action]); - } - - console.log(`Action mise à jour avec succès pour le JID ${jid} dans la table 'antilien'.`); - } catch (error) { - console.error('Erreur lors de la mise à jour de l\'action pour le JID dans la table :', error); - } finally { - client.release(); - } -}; - - - -async function verifierEtatJid(jid) { - const client = await pool.connect(); - - try { - // Recherchez le JID dans la table 'antilien' et récupérez son état - const result = await client.query('SELECT etat FROM antilien WHERE jid = $1', [jid]); - - if (result.rows.length > 0) { - const etat = result.rows[0].etat; - return etat === 'oui'; - } else { - // Si le JID n'existe pas dans la table, il n'est pas enregistré comme "oui" - return false; - } - } catch (error) { - console.error('Erreur lors de la vérification de l\'état du JID dans la table ', error); - return false; - } finally { - client.release(); - } -}; - -async function recupererActionJid(jid) { - const client = await pool.connect(); - - try { - // Recherchez le JID dans la table 'antilien' et récupérez son action - const result = await client.query('SELECT action FROM antilien WHERE jid = $1', [jid]); - - if (result.rows.length > 0) { - const action = result.rows[0].action; - return action; - } else { - // Si le JID n'existe pas dans la table, retournez une valeur par défaut (par exemple, 'supp') - return 'supp'; - } - } catch (error) { - console.error('Erreur lors de la récupération de l\'action du JID dans la table :', error); - return 'supp'; // Gestion de l'erreur en retournant une valeur par défaut - } finally { - client.release(); - } -}; - - - - - -module.exports = { - mettreAJourAction, - ajouterOuMettreAJourJid, - verifierEtatJid, - recupererActionJid, -}; - - - - - - - - +require("dotenv").config(); +const { Pool } = require("pg"); +let s =require("../set") +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" + +const proConfig = { + connectionString:dbUrl , + ssl: { + rejectUnauthorized: false, + }, +}; + +const pool = new Pool(proConfig); + + +// Fonction pour créer la table "antilien" +async function createAntilienTable() { + const client = await pool.connect(); + try { + // Exécutez une requête SQL pour créer la table "antilien" si elle n'existe pas déjà + await client.query(` + CREATE TABLE IF NOT EXISTS antilien ( + jid text PRIMARY KEY, + etat text, + action text + ); + `); + console.log("La table 'antilien' a été créée avec succès."); + } catch (error) { + console.error("Une erreur est survenue lors de la création de la table 'antilien':", error); + } finally { + client.release(); + } +} + +// Appelez la méthode pour créer la table "antilien" +createAntilienTable(); + + + +async function ajouterOuMettreAJourJid(jid, etat) { + const client = await pool.connect(); + + try { + // Vérifiez si le jid existe déjà dans la table 'antilien' + const result = await client.query('SELECT * FROM antilien WHERE jid = $1', [jid]); + const jidExiste = result.rows.length > 0; + + if (jidExiste) { + // Si le jid existe, mettez à jour l'état avec la valeur passée en argument + await client.query('UPDATE antilien SET etat = $1 WHERE jid = $2', [etat, jid]); + } else { + // Si le jid n'existe pas, ajoutez-le avec l'état passé en argument et l'action 'supp' par défaut + await client.query('INSERT INTO antilien (jid, etat, action) VALUES ($1, $2, $3)', [jid, etat, 'supp']); + } + + console.log(`JID ${jid} ajouté ou mis à jour avec succès dans la table 'antilien'.`); + } catch (error) { + console.error('Erreur lors de l\'ajout ou de la mise à jour du JID dans la table ,', error); + } finally { + client.release(); + } +}; + + +async function mettreAJourAction(jid, action) { + const client = await pool.connect(); + + try { + // Vérifiez si le jid existe déjà dans la table 'antilien' + const result = await client.query('SELECT * FROM antilien WHERE jid = $1', [jid]); + const jidExiste = result.rows.length > 0; + + if (jidExiste) { + // Si le jid existe, mettez à jour l'action avec la valeur fournie (et laissez l'état inchangé) + await client.query('UPDATE antilien SET action = $1 WHERE jid = $2', [action, jid]); + } else { + // Si le jid n'existe pas, ajoutez-le avec l'état 'non' par défaut et l'action fournie + await client.query('INSERT INTO antilien (jid, etat, action) VALUES ($1, $2, $3)', [jid, 'non', action]); + } + + console.log(`Action mise à jour avec succès pour le JID ${jid} dans la table 'antilien'.`); + } catch (error) { + console.error('Erreur lors de la mise à jour de l\'action pour le JID dans la table :', error); + } finally { + client.release(); + } +}; + + + +async function verifierEtatJid(jid) { + const client = await pool.connect(); + + try { + // Recherchez le JID dans la table 'antilien' et récupérez son état + const result = await client.query('SELECT etat FROM antilien WHERE jid = $1', [jid]); + + if (result.rows.length > 0) { + const etat = result.rows[0].etat; + return etat === 'oui'; + } else { + // Si le JID n'existe pas dans la table, il n'est pas enregistré comme "oui" + return false; + } + } catch (error) { + console.error('Erreur lors de la vérification de l\'état du JID dans la table ', error); + return false; + } finally { + client.release(); + } +}; + +async function recupererActionJid(jid) { + const client = await pool.connect(); + + try { + // Recherchez le JID dans la table 'antilien' et récupérez son action + const result = await client.query('SELECT action FROM antilien WHERE jid = $1', [jid]); + + if (result.rows.length > 0) { + const action = result.rows[0].action; + return action; + } else { + // Si le JID n'existe pas dans la table, retournez une valeur par défaut (par exemple, 'supp') + return 'supp'; + } + } catch (error) { + console.error('Erreur lors de la récupération de l\'action du JID dans la table :', error); + return 'supp'; // Gestion de l'erreur en retournant une valeur par défaut + } finally { + client.release(); + } +}; + + + + + +module.exports = { + mettreAJourAction, + ajouterOuMettreAJourJid, + verifierEtatJid, + recupererActionJid, +}; + + + + + + + + diff --git a/bdd/banGroup.js b/bdd/banGroup.js index 83161ac..60a0834 100644 --- a/bdd/banGroup.js +++ b/bdd/banGroup.js @@ -1,94 +1,94 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -// Créez une pool de connexions PostgreSQL -const pool = new Pool(proConfig); - -// Fonction pour créer la table "banGroup" -const creerTableBanGroup = async () => { - try { - await pool.query(` - CREATE TABLE IF NOT EXISTS banGroup ( - groupeJid text PRIMARY KEY - ); - `); - console.log("La table 'banGroup' a été créée avec succès."); - } catch (e) { - console.error("Une erreur est survenue lors de la création de la table 'banGroup':", e); - } -}; - -// Appelez la méthode pour créer la table "banGroup" -creerTableBanGroup(); - -// Fonction pour ajouter un groupe à la liste des groupes bannis -async function addGroupToBanList(groupeJid) { - const client = await pool.connect(); - try { - // Insérez le groupe dans la table "banGroup" - const query = "INSERT INTO banGroup (groupeJid) VALUES ($1)"; - const values = [groupeJid]; - - await client.query(query, values); - console.log(`Groupe JID ${groupeJid} ajouté à la liste des groupes bannis.`); - } catch (error) { - console.error("Erreur lors de l'ajout du groupe banni :", error); - } finally { - client.release(); - } -} - -// Fonction pour vérifier si un groupe est banni -async function isGroupBanned(groupeJid) { - const client = await pool.connect(); - try { - // Vérifiez si le groupe existe dans la table "banGroup" - const query = "SELECT EXISTS (SELECT 1 FROM banGroup WHERE groupeJid = $1)"; - const values = [groupeJid]; - - const result = await client.query(query, values); - return result.rows[0].exists; - } catch (error) { - console.error("Erreur lors de la vérification du groupe banni :", error); - return false; - } finally { - client.release(); - } -} - -// Fonction pour supprimer un groupe de la liste des groupes bannis -async function removeGroupFromBanList(groupeJid) { - const client = await pool.connect(); - try { - // Supprimez le groupe de la table "banGroup" - const query = "DELETE FROM banGroup WHERE groupeJid = $1"; - const values = [groupeJid]; - - await client.query(query, values); - console.log(`Groupe JID ${groupeJid} supprimé de la liste des groupes bannis.`); - } catch (error) { - console.error("Erreur lors de la suppression du groupe banni :", error); - } finally { - client.release(); - } -} - -module.exports = { - addGroupToBanList, - isGroupBanned, - removeGroupFromBanList, -}; +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +// Créez une pool de connexions PostgreSQL +const pool = new Pool(proConfig); + +// Fonction pour créer la table "banGroup" +const creerTableBanGroup = async () => { + try { + await pool.query(` + CREATE TABLE IF NOT EXISTS banGroup ( + groupeJid text PRIMARY KEY + ); + `); + console.log("La table 'banGroup' a été créée avec succès."); + } catch (e) { + console.error("Une erreur est survenue lors de la création de la table 'banGroup':", e); + } +}; + +// Appelez la méthode pour créer la table "banGroup" +creerTableBanGroup(); + +// Fonction pour ajouter un groupe à la liste des groupes bannis +async function addGroupToBanList(groupeJid) { + const client = await pool.connect(); + try { + // Insérez le groupe dans la table "banGroup" + const query = "INSERT INTO banGroup (groupeJid) VALUES ($1)"; + const values = [groupeJid]; + + await client.query(query, values); + console.log(`Groupe JID ${groupeJid} ajouté à la liste des groupes bannis.`); + } catch (error) { + console.error("Erreur lors de l'ajout du groupe banni :", error); + } finally { + client.release(); + } +} + +// Fonction pour vérifier si un groupe est banni +async function isGroupBanned(groupeJid) { + const client = await pool.connect(); + try { + // Vérifiez si le groupe existe dans la table "banGroup" + const query = "SELECT EXISTS (SELECT 1 FROM banGroup WHERE groupeJid = $1)"; + const values = [groupeJid]; + + const result = await client.query(query, values); + return result.rows[0].exists; + } catch (error) { + console.error("Erreur lors de la vérification du groupe banni :", error); + return false; + } finally { + client.release(); + } +} + +// Fonction pour supprimer un groupe de la liste des groupes bannis +async function removeGroupFromBanList(groupeJid) { + const client = await pool.connect(); + try { + // Supprimez le groupe de la table "banGroup" + const query = "DELETE FROM banGroup WHERE groupeJid = $1"; + const values = [groupeJid]; + + await client.query(query, values); + console.log(`Groupe JID ${groupeJid} supprimé de la liste des groupes bannis.`); + } catch (error) { + console.error("Erreur lors de la suppression du groupe banni :", error); + } finally { + client.release(); + } +} + +module.exports = { + addGroupToBanList, + isGroupBanned, + removeGroupFromBanList, +}; diff --git a/bdd/banUser.js b/bdd/banUser.js index 174a5fd..5fcd60c 100644 --- a/bdd/banUser.js +++ b/bdd/banUser.js @@ -1,98 +1,98 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -// Créez une pool de connexions PostgreSQL -const pool = new Pool(proConfig); - -// Vous pouvez maintenant utiliser 'pool' pour interagir avec votre base de données PostgreSQL. -const creerTableBanUser = async () => { - try { - await pool.query(` - CREATE TABLE IF NOT EXISTS banUser ( - jid text PRIMARY KEY - ); - `); - console.log("La table 'banUser' a été créée avec succès."); - } catch (e) { - console.error("Une erreur est survenue lors de la création de la table 'banUser':", e); - } -}; - -// Appelez la méthode pour créer la table "banUser" -creerTableBanUser(); - - - -// Fonction pour ajouter un utilisateur à la liste des bannis -async function addUserToBanList(jid) { - const client = await pool.connect(); - try { - // Insérez l'utilisateur dans la table "banUser" - const query = "INSERT INTO banUser (jid) VALUES ($1)"; - const values = [jid]; - - await client.query(query, values); - console.log(`JID ${jid} ajouté à la liste des bannis.`); - } catch (error) { - console.error("Erreur lors de l'ajout de l'utilisateur banni :", error); - } finally { - client.release(); - } -} - - - -// Fonction pour vérifier si un utilisateur est banni -async function isUserBanned(jid) { - const client = await pool.connect(); - try { - // Vérifiez si l'utilisateur existe dans la table "banUser" - const query = "SELECT EXISTS (SELECT 1 FROM banUser WHERE jid = $1)"; - const values = [jid]; - - const result = await client.query(query, values); - return result.rows[0].exists; - } catch (error) { - console.error("Erreur lors de la vérification de l'utilisateur banni :", error); - return false; - } finally { - client.release(); - } -} - -// Fonction pour supprimer un utilisateur de la liste des bannis -async function removeUserFromBanList(jid) { - const client = await pool.connect(); - try { - // Supprimez l'utilisateur de la table "banUser" - const query = "DELETE FROM banUser WHERE jid = $1"; - const values = [jid]; - - await client.query(query, values); - console.log(`JID ${jid} supprimé de la liste des bannis.`); - } catch (error) { - console.error("Erreur lors de la suppression de l'utilisateur banni :", error); - } finally { - client.release(); - } -} - -module.exports = { - addUserToBanList, - isUserBanned, - removeUserFromBanList, -}; +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +// Créez une pool de connexions PostgreSQL +const pool = new Pool(proConfig); + +// Vous pouvez maintenant utiliser 'pool' pour interagir avec votre base de données PostgreSQL. +const creerTableBanUser = async () => { + try { + await pool.query(` + CREATE TABLE IF NOT EXISTS banUser ( + jid text PRIMARY KEY + ); + `); + console.log("La table 'banUser' a été créée avec succès."); + } catch (e) { + console.error("Une erreur est survenue lors de la création de la table 'banUser':", e); + } +}; + +// Appelez la méthode pour créer la table "banUser" +creerTableBanUser(); + + + +// Fonction pour ajouter un utilisateur à la liste des bannis +async function addUserToBanList(jid) { + const client = await pool.connect(); + try { + // Insérez l'utilisateur dans la table "banUser" + const query = "INSERT INTO banUser (jid) VALUES ($1)"; + const values = [jid]; + + await client.query(query, values); + console.log(`JID ${jid} ajouté à la liste des bannis.`); + } catch (error) { + console.error("Erreur lors de l'ajout de l'utilisateur banni :", error); + } finally { + client.release(); + } +} + + + +// Fonction pour vérifier si un utilisateur est banni +async function isUserBanned(jid) { + const client = await pool.connect(); + try { + // Vérifiez si l'utilisateur existe dans la table "banUser" + const query = "SELECT EXISTS (SELECT 1 FROM banUser WHERE jid = $1)"; + const values = [jid]; + + const result = await client.query(query, values); + return result.rows[0].exists; + } catch (error) { + console.error("Erreur lors de la vérification de l'utilisateur banni :", error); + return false; + } finally { + client.release(); + } +} + +// Fonction pour supprimer un utilisateur de la liste des bannis +async function removeUserFromBanList(jid) { + const client = await pool.connect(); + try { + // Supprimez l'utilisateur de la table "banUser" + const query = "DELETE FROM banUser WHERE jid = $1"; + const values = [jid]; + + await client.query(query, values); + console.log(`JID ${jid} supprimé de la liste des bannis.`); + } catch (error) { + console.error("Erreur lors de la suppression de l'utilisateur banni :", error); + } finally { + client.release(); + } +} + +module.exports = { + addUserToBanList, + isUserBanned, + removeUserFromBanList, +}; diff --git a/bdd/cron.js b/bdd/cron.js index e45f084..9712a34 100644 --- a/bdd/cron.js +++ b/bdd/cron.js @@ -1,114 +1,114 @@ -require("dotenv").config(); -const { Pool } = require("pg"); -let s =require("../set"); -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" - -const proConfig = { - connectionString:dbUrl , - ssl: { - rejectUnauthorized: false, - }, -}; - -const pool = new Pool(proConfig); - - -async function createTablecron() { - - const client = await pool.connect(); - try { - // Exécutez une requête SQL pour créer la table "cron" si elle n'existe pas déjà - await client.query(` - CREATE TABLE IF NOT EXISTS cron ( - group_id text PRIMARY KEY, - mute_at text default null, - unmute_at text default null - ); - `); - console.log("La table 'cron' a été créée avec succès."); - } catch (error) { - console.error("Une erreur est survenue lors de la création de la table 'cron':", error); - } finally { - client.release(); - } -} ; - -createTablecron(); - - -async function getCron() { - - const client = await pool.connect(); - try { - - const result = await client.query('SELECT * FROM cron'); - return result.rows; - } catch (error) { - console.error('Erreur lors de la récupération des données de la table "cron":', error); - } finally { - client.release(); - } - } ; - - -async function addCron(group_id, rows, value) { - const client = await pool.connect(); - - try { - - let response = await client.query(` - SELECT * FROM cron WHERE group_id = $1`, [group_id]); - - let exist = response.rows.length > 0 ; -if (exist) { - - await client.query(` - UPDATE cron SET ${rows} = $1 WHERE group_id = $2 `, [value, group_id]) - -} else { - const query = ` - INSERT INTO cron (group_id, ${rows}) - VALUES ($1, $2)`; - - await client.query(query, [group_id, value]); - } - } catch (error) { - console.error('Erreur lors de l\'ajout de la donnée dans la table "cron":', error); - } finally { - client.release(); - } -} - - - - -async function getCronById(group_id) { - - const client = await pool.connect(); - try { - const result = await client.query('SELECT * FROM cron WHERE group_id = $1', [group_id]); - return result.rows[0]; - } catch (error) { - console.error('Erreur lors de la récupération des données de la table "cron":', error); - } finally { - client.release(); - } -} - -async function delCron(group_id) { - - const client = await pool.connect(); - try { - await client.query('DELETE FROM cron WHERE group_id = $1', [group_id]); - } catch (error) { - console.error('Erreur lors de la suppression de la donnée dans la table "cron":', error); - } finally { - client.release(); - } -} - - module.exports = { - getCron, - addCron, - delCron, +require("dotenv").config(); +const { Pool } = require("pg"); +let s =require("../set"); +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" + +const proConfig = { + connectionString:dbUrl , + ssl: { + rejectUnauthorized: false, + }, +}; + +const pool = new Pool(proConfig); + + +async function createTablecron() { + + const client = await pool.connect(); + try { + // Exécutez une requête SQL pour créer la table "cron" si elle n'existe pas déjà + await client.query(` + CREATE TABLE IF NOT EXISTS cron ( + group_id text PRIMARY KEY, + mute_at text default null, + unmute_at text default null + ); + `); + console.log("La table 'cron' a été créée avec succès."); + } catch (error) { + console.error("Une erreur est survenue lors de la création de la table 'cron':", error); + } finally { + client.release(); + } +} ; + +createTablecron(); + + +async function getCron() { + + const client = await pool.connect(); + try { + + const result = await client.query('SELECT * FROM cron'); + return result.rows; + } catch (error) { + console.error('Erreur lors de la récupération des données de la table "cron":', error); + } finally { + client.release(); + } + } ; + + +async function addCron(group_id, rows, value) { + const client = await pool.connect(); + + try { + + let response = await client.query(` + SELECT * FROM cron WHERE group_id = $1`, [group_id]); + + let exist = response.rows.length > 0 ; +if (exist) { + + await client.query(` + UPDATE cron SET ${rows} = $1 WHERE group_id = $2 `, [value, group_id]) + +} else { + const query = ` + INSERT INTO cron (group_id, ${rows}) + VALUES ($1, $2)`; + + await client.query(query, [group_id, value]); + } + } catch (error) { + console.error('Erreur lors de l\'ajout de la donnée dans la table "cron":', error); + } finally { + client.release(); + } +} + + + + +async function getCronById(group_id) { + + const client = await pool.connect(); + try { + const result = await client.query('SELECT * FROM cron WHERE group_id = $1', [group_id]); + return result.rows[0]; + } catch (error) { + console.error('Erreur lors de la récupération des données de la table "cron":', error); + } finally { + client.release(); + } +} + +async function delCron(group_id) { + + const client = await pool.connect(); + try { + await client.query('DELETE FROM cron WHERE group_id = $1', [group_id]); + } catch (error) { + console.error('Erreur lors de la suppression de la donnée dans la table "cron":', error); + } finally { + client.release(); + } +} + + module.exports = { + getCron, + addCron, + delCron, getCronById, } \ No newline at end of file diff --git a/bdd/hentai.js b/bdd/hentai.js index 87caf0a..7f6b081 100644 --- a/bdd/hentai.js +++ b/bdd/hentai.js @@ -1,94 +1,94 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl = s.DATABASE_URL ? s.DATABASE_URL : "postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9"; -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -// Créez une pool de connexions PostgreSQL -const pool = new Pool(proConfig); - -// Fonction pour créer la table "hentai" -const creerTableHentai = async () => { - try { - await pool.query(` - CREATE TABLE IF NOT EXISTS hentai ( - groupeJid text PRIMARY KEY - ); - `); - console.log("La table 'hentai' avec 'groupeJid' comme clé primaire a été créée avec succès."); - } catch (e) { - console.error("Une erreur est survenue lors de la création de la table 'hentai':", e); - } -}; - -// Appelez la méthode pour créer la table "hentai" avec 'groupeJid' comme clé primaire -creerTableHentai(); - -// Fonction pour ajouter un groupe à la liste de hentai -async function addToHentaiList(groupeJid) { - const client = await pool.connect(); - try { - // Insérez le groupe dans la table "hentai" - const query = "INSERT INTO hentai (groupeJid) VALUES ($1)"; - const values = [groupeJid]; - - await client.query(query, values); - console.log(`Le groupe JID ${groupeJid} a été ajouté à la liste de hentai.`); - } catch (error) { - console.error("Erreur lors de l'ajout du groupe à la liste de hentai :", error); - } finally { - client.release(); - } -} - -// Fonction pour vérifier si un groupe est dans la liste de hentai -async function checkFromHentaiList(groupeJid) { - const client = await pool.connect(); - try { - // Vérifiez si le groupe existe dans la table "hentai" - const query = "SELECT EXISTS (SELECT 1 FROM hentai WHERE groupeJid = $1)"; - const values = [groupeJid]; - - const result = await client.query(query, values); - return result.rows[0].exists; - } catch (error) { - console.error("Erreur lors de la vérification de la présence du groupe dans la liste de hentai :", error); - return false; - } finally { - client.release(); - } -} - -// Fonction pour supprimer un groupe de la liste de hentai -async function removeFromHentaiList(groupeJid) { - const client = await pool.connect(); - try { - // Supprimez le groupe de la table "hentai" - const query = "DELETE FROM hentai WHERE groupeJid = $1"; - const values = [groupeJid]; - - await client.query(query, values); - console.log(`Le groupe JID ${groupeJid} a été supprimé de la liste de hentai.`); - } catch (error) { - console.error("Erreur lors de la suppression du groupe de la liste de hentai :", error); - } finally { - client.release(); - } -} - -module.exports = { - addToHentaiList, - checkFromHentaiList, - removeFromHentaiList, -}; +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl = s.DATABASE_URL ? s.DATABASE_URL : "postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9"; +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +// Créez une pool de connexions PostgreSQL +const pool = new Pool(proConfig); + +// Fonction pour créer la table "hentai" +const creerTableHentai = async () => { + try { + await pool.query(` + CREATE TABLE IF NOT EXISTS hentai ( + groupeJid text PRIMARY KEY + ); + `); + console.log("La table 'hentai' avec 'groupeJid' comme clé primaire a été créée avec succès."); + } catch (e) { + console.error("Une erreur est survenue lors de la création de la table 'hentai':", e); + } +}; + +// Appelez la méthode pour créer la table "hentai" avec 'groupeJid' comme clé primaire +creerTableHentai(); + +// Fonction pour ajouter un groupe à la liste de hentai +async function addToHentaiList(groupeJid) { + const client = await pool.connect(); + try { + // Insérez le groupe dans la table "hentai" + const query = "INSERT INTO hentai (groupeJid) VALUES ($1)"; + const values = [groupeJid]; + + await client.query(query, values); + console.log(`Le groupe JID ${groupeJid} a été ajouté à la liste de hentai.`); + } catch (error) { + console.error("Erreur lors de l'ajout du groupe à la liste de hentai :", error); + } finally { + client.release(); + } +} + +// Fonction pour vérifier si un groupe est dans la liste de hentai +async function checkFromHentaiList(groupeJid) { + const client = await pool.connect(); + try { + // Vérifiez si le groupe existe dans la table "hentai" + const query = "SELECT EXISTS (SELECT 1 FROM hentai WHERE groupeJid = $1)"; + const values = [groupeJid]; + + const result = await client.query(query, values); + return result.rows[0].exists; + } catch (error) { + console.error("Erreur lors de la vérification de la présence du groupe dans la liste de hentai :", error); + return false; + } finally { + client.release(); + } +} + +// Fonction pour supprimer un groupe de la liste de hentai +async function removeFromHentaiList(groupeJid) { + const client = await pool.connect(); + try { + // Supprimez le groupe de la table "hentai" + const query = "DELETE FROM hentai WHERE groupeJid = $1"; + const values = [groupeJid]; + + await client.query(query, values); + console.log(`Le groupe JID ${groupeJid} a été supprimé de la liste de hentai.`); + } catch (error) { + console.error("Erreur lors de la suppression du groupe de la liste de hentai :", error); + } finally { + client.release(); + } +} + +module.exports = { + addToHentaiList, + checkFromHentaiList, + removeFromHentaiList, +}; diff --git a/bdd/level.js b/bdd/level.js index eecc4b0..ed69506 100644 --- a/bdd/level.js +++ b/bdd/level.js @@ -1,116 +1,116 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -const dbUrl = s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" ; -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -// Créez une pool de connexions PostgreSQL -const pool = new Pool(proConfig); - -async function createUsersRankTable() { - const client = await pool.connect(); - - try { - // Créez la table users_rank si elle n'existe pas déjà - await client.query(` - CREATE TABLE IF NOT EXISTS users_rank ( - id SERIAL PRIMARY KEY, - jid VARCHAR(255) UNIQUE, - xp INTEGER DEFAULT 0, - messages INTEGER DEFAULT 0 - ); - `); - } catch (error) { - console.error('Erreur lors de la création de la table users_rank:', error); - } finally { - client.release(); - } -} - -async function ajouterOuMettreAJourUserData(jid) { - const client = await pool.connect(); - - try { - // Vérifiez si le JID existe déjà dans la table 'users_rank' - const result = await client.query('SELECT * FROM users_rank WHERE jid = $1', [jid]); - const jidExiste = result.rows.length > 0; - - if (jidExiste) { - // Si le JID existe, mettez à jour XP (+10) et messages (+1) - await client.query('UPDATE users_rank SET xp = xp + 10, messages = messages + 1 WHERE jid = $1', [jid]); - } else { - // Si le JID n'existe pas, ajoutez-le avec XP = 10 et messages = 1 - await client.query('INSERT INTO users_rank (jid, xp, messages) VALUES ($1, $2, $3)', [jid, 10, 1]); - } - - } catch (error) { - console.error('Erreur lors de la mise à jour des données de l\'utilisateur:', error); - } finally { - client.release(); - } -}; - -async function getMessagesAndXPByJID(jid) { - const client = await pool.connect(); - - try { - // Sélectionnez le nombre de messages et d'XP pour le JID donné - const query = 'SELECT messages, xp FROM users_rank WHERE jid = $1'; - const result = await client.query(query, [jid]); - - if (result.rows.length > 0) { - // Retournez les valeurs de messages et d'XP - const { messages, xp } = result.rows[0]; - return { messages, xp }; - } else { - // Si le JID n'existe pas, renvoyez des valeurs par défaut (0 messages et 0 XP) - return { messages: 0, xp: 0 }; - } - } catch (error) { - console.error('Erreur lors de la récupération des données de l\'utilisateur:', error); - return { messages: 0, xp: 0 }; // En cas d'erreur, renvoyez des valeurs par défaut - } finally { - client.release(); - } -} - -async function getBottom10Users() { - const client = await pool.connect(); - - try { - // Sélectionnez les 10 premiers utilisateurs classés par XP de manière ascendante (du plus bas au plus élevé) - const query = 'SELECT jid, xp , messages FROM users_rank ORDER BY xp DESC LIMIT 10'; - const result = await client.query(query); - - // Retournez le tableau des utilisateurs - return result.rows; - } catch (error) { - console.error('Erreur lors de la récupération du bottom 10 des utilisateurs:', error); - return []; // En cas d'erreur, renvoyez un tableau vide - } finally { - client.release(); - } -} - - - -// Exécutez la fonction de création de la table lors de l'initialisation -createUsersRankTable(); - -module.exports = { - ajouterOuMettreAJourUserData, - getMessagesAndXPByJID, - getBottom10Users, -}; +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +const dbUrl = s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" ; +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +// Créez une pool de connexions PostgreSQL +const pool = new Pool(proConfig); + +async function createUsersRankTable() { + const client = await pool.connect(); + + try { + // Créez la table users_rank si elle n'existe pas déjà + await client.query(` + CREATE TABLE IF NOT EXISTS users_rank ( + id SERIAL PRIMARY KEY, + jid VARCHAR(255) UNIQUE, + xp INTEGER DEFAULT 0, + messages INTEGER DEFAULT 0 + ); + `); + } catch (error) { + console.error('Erreur lors de la création de la table users_rank:', error); + } finally { + client.release(); + } +} + +async function ajouterOuMettreAJourUserData(jid) { + const client = await pool.connect(); + + try { + // Vérifiez si le JID existe déjà dans la table 'users_rank' + const result = await client.query('SELECT * FROM users_rank WHERE jid = $1', [jid]); + const jidExiste = result.rows.length > 0; + + if (jidExiste) { + // Si le JID existe, mettez à jour XP (+10) et messages (+1) + await client.query('UPDATE users_rank SET xp = xp + 10, messages = messages + 1 WHERE jid = $1', [jid]); + } else { + // Si le JID n'existe pas, ajoutez-le avec XP = 10 et messages = 1 + await client.query('INSERT INTO users_rank (jid, xp, messages) VALUES ($1, $2, $3)', [jid, 10, 1]); + } + + } catch (error) { + console.error('Erreur lors de la mise à jour des données de l\'utilisateur:', error); + } finally { + client.release(); + } +}; + +async function getMessagesAndXPByJID(jid) { + const client = await pool.connect(); + + try { + // Sélectionnez le nombre de messages et d'XP pour le JID donné + const query = 'SELECT messages, xp FROM users_rank WHERE jid = $1'; + const result = await client.query(query, [jid]); + + if (result.rows.length > 0) { + // Retournez les valeurs de messages et d'XP + const { messages, xp } = result.rows[0]; + return { messages, xp }; + } else { + // Si le JID n'existe pas, renvoyez des valeurs par défaut (0 messages et 0 XP) + return { messages: 0, xp: 0 }; + } + } catch (error) { + console.error('Erreur lors de la récupération des données de l\'utilisateur:', error); + return { messages: 0, xp: 0 }; // En cas d'erreur, renvoyez des valeurs par défaut + } finally { + client.release(); + } +} + +async function getBottom10Users() { + const client = await pool.connect(); + + try { + // Sélectionnez les 10 premiers utilisateurs classés par XP de manière ascendante (du plus bas au plus élevé) + const query = 'SELECT jid, xp , messages FROM users_rank ORDER BY xp DESC LIMIT 10'; + const result = await client.query(query); + + // Retournez le tableau des utilisateurs + return result.rows; + } catch (error) { + console.error('Erreur lors de la récupération du bottom 10 des utilisateurs:', error); + return []; // En cas d'erreur, renvoyez un tableau vide + } finally { + client.release(); + } +} + + + +// Exécutez la fonction de création de la table lors de l'initialisation +createUsersRankTable(); + +module.exports = { + ajouterOuMettreAJourUserData, + getMessagesAndXPByJID, + getBottom10Users, +}; diff --git a/bdd/mention.js b/bdd/mention.js index d80e287..3de544a 100644 --- a/bdd/mention.js +++ b/bdd/mention.js @@ -1,109 +1,109 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -// Créez une pool de connexions PostgreSQL -const pool = new Pool(proConfig); - -// Fonction pour créer la table "alive" avec une colonne "id" - -async function creerTableMention() { - const client = await pool.connect(); - try { - await client.query(` - CREATE TABLE IF NOT EXISTS mention ( - id serial PRIMARY KEY, - status text DEFAULT 'non', - url text, - type text, - message text - ); - `); - console.log("La table 'mention' a été créée avec succès."); - } catch (e) { - console.error("Une erreur est survenue lors de la création de la table 'mention':", e); - } finally { - client.release(); - } - }; - -creerTableMention(); - - async function addOrUpdateDataInMention(url, type,message) { - const client = await pool.connect(); - try { - const query = ` - INSERT INTO mention (id, url, type, message) - VALUES (1, $1, $2, $3) - ON CONFLICT (id) - DO UPDATE SET url = excluded.url, type = excluded.type , message = excluded.message; - `; - const values = [url, type,message]; - - await client.query(query, values); - console.log("Données ajoutées ou mises à jour dans la table 'mention' avec succès."); - } catch (error) { - console.error("Erreur lors de l'ajout ou de la mise à jour des données dans la table 'mention':", error); - } finally { - client.release(); - } - }; - - -async function modifierStatusId1(nouveauStatus) { - const client = await pool.connect(); - try { - const query = ` - UPDATE mention - SET status = $1 - WHERE id = 1; - `; - const values = [nouveauStatus]; - - await client.query(query, values); - console.log("Le status a été modifié avec succès pour l'ID 1 dans la table 'mention'."); - } catch (error) { - console.error("Erreur lors de la modification du status pour l'ID 1 dans la table 'mention':", error); - } finally { - client.release(); - } -}; - -async function recupererToutesLesValeurs() { - const client = await pool.connect(); - try { - const query = ` - SELECT * FROM mention; - `; - - const result = await client.query(query); - console.log("Voici toutes les valeurs de la table 'mention':", result.rows); - return result.rows; - } catch (error) { - console.error("Erreur lors de la récupération des valeurs de la table 'mention':", error); - } finally { - client.release(); - } -}; - -module.exports = { - addOrUpdateDataInMention, - recupererToutesLesValeurs, - modifierStatusId1, -} - - - +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +// Créez une pool de connexions PostgreSQL +const pool = new Pool(proConfig); + +// Fonction pour créer la table "alive" avec une colonne "id" + +async function creerTableMention() { + const client = await pool.connect(); + try { + await client.query(` + CREATE TABLE IF NOT EXISTS mention ( + id serial PRIMARY KEY, + status text DEFAULT 'non', + url text, + type text, + message text + ); + `); + console.log("La table 'mention' a été créée avec succès."); + } catch (e) { + console.error("Une erreur est survenue lors de la création de la table 'mention':", e); + } finally { + client.release(); + } + }; + +creerTableMention(); + + async function addOrUpdateDataInMention(url, type,message) { + const client = await pool.connect(); + try { + const query = ` + INSERT INTO mention (id, url, type, message) + VALUES (1, $1, $2, $3) + ON CONFLICT (id) + DO UPDATE SET url = excluded.url, type = excluded.type , message = excluded.message; + `; + const values = [url, type,message]; + + await client.query(query, values); + console.log("Données ajoutées ou mises à jour dans la table 'mention' avec succès."); + } catch (error) { + console.error("Erreur lors de l'ajout ou de la mise à jour des données dans la table 'mention':", error); + } finally { + client.release(); + } + }; + + +async function modifierStatusId1(nouveauStatus) { + const client = await pool.connect(); + try { + const query = ` + UPDATE mention + SET status = $1 + WHERE id = 1; + `; + const values = [nouveauStatus]; + + await client.query(query, values); + console.log("Le status a été modifié avec succès pour l'ID 1 dans la table 'mention'."); + } catch (error) { + console.error("Erreur lors de la modification du status pour l'ID 1 dans la table 'mention':", error); + } finally { + client.release(); + } +}; + +async function recupererToutesLesValeurs() { + const client = await pool.connect(); + try { + const query = ` + SELECT * FROM mention; + `; + + const result = await client.query(query); + console.log("Voici toutes les valeurs de la table 'mention':", result.rows); + return result.rows; + } catch (error) { + console.error("Erreur lors de la récupération des valeurs de la table 'mention':", error); + } finally { + client.release(); + } +}; + +module.exports = { + addOrUpdateDataInMention, + recupererToutesLesValeurs, + modifierStatusId1, +} + + + diff --git a/bdd/onlyAdmin.js b/bdd/onlyAdmin.js index e4de6ee..e03c3c9 100644 --- a/bdd/onlyAdmin.js +++ b/bdd/onlyAdmin.js @@ -1,94 +1,94 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -// Créez une pool de connexions PostgreSQL -const pool = new Pool(proConfig); - -// Fonction pour créer la table "onlyAdmin" -const creerTableOnlyAdmin = async () => { - try { - await pool.query(` - CREATE TABLE IF NOT EXISTS onlyAdmin ( - groupeJid text PRIMARY KEY - ); - `); - console.log("La table 'onlyAdmin' a été créée avec succès."); - } catch (e) { - console.error("Une erreur est survenue lors de la création de la table 'onlyAdmin':", e); - } -}; - -// Appelez la méthode pour créer la table "onlyAdmin" -creerTableOnlyAdmin(); - -// Fonction pour ajouter un groupe à la liste des groupes autorisés uniquement aux administrateurs -async function addGroupToOnlyAdminList(groupeJid) { - const client = await pool.connect(); - try { - // Insérez le groupe dans la table "onlyAdmin" - const query = "INSERT INTO onlyAdmin (groupeJid) VALUES ($1)"; - const values = [groupeJid]; - - await client.query(query, values); - console.log(`Groupe JID ${groupeJid} ajouté à la liste des groupes onlyAdmin.`); - } catch (error) { - console.error("Erreur lors de l'ajout du groupe onlyAdmin :", error); - } finally { - client.release(); - } -} - -// Fonction pour vérifier si un groupe est autorisé uniquement aux administrateurs -async function isGroupOnlyAdmin(groupeJid) { - const client = await pool.connect(); - try { - // Vérifiez si le groupe existe dans la table "onlyAdmin" - const query = "SELECT EXISTS (SELECT 1 FROM onlyAdmin WHERE groupeJid = $1)"; - const values = [groupeJid]; - - const result = await client.query(query, values); - return result.rows[0].exists; - } catch (error) { - console.error("Erreur lors de la vérification du groupe onlyAdmin :", error); - return false; - } finally { - client.release(); - } -} - -// Fonction pour supprimer un groupe de la liste des groupes onlyAdmin -async function removeGroupFromOnlyAdminList(groupeJid) { - const client = await pool.connect(); - try { - // Supprimez le groupe de la table "onlyAdmin" - const query = "DELETE FROM onlyAdmin WHERE groupeJid = $1"; - const values = [groupeJid]; - - await client.query(query, values); - console.log(`Groupe JID ${groupeJid} supprimé de la liste des groupes onlyAdmin.`); - } catch (error) { - console.error("Erreur lors de la suppression du groupe onlyAdmin :", error); - } finally { - client.release(); - } -} - -module.exports = { - addGroupToOnlyAdminList, - isGroupOnlyAdmin, - removeGroupFromOnlyAdminList, -}; +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +// Créez une pool de connexions PostgreSQL +const pool = new Pool(proConfig); + +// Fonction pour créer la table "onlyAdmin" +const creerTableOnlyAdmin = async () => { + try { + await pool.query(` + CREATE TABLE IF NOT EXISTS onlyAdmin ( + groupeJid text PRIMARY KEY + ); + `); + console.log("La table 'onlyAdmin' a été créée avec succès."); + } catch (e) { + console.error("Une erreur est survenue lors de la création de la table 'onlyAdmin':", e); + } +}; + +// Appelez la méthode pour créer la table "onlyAdmin" +creerTableOnlyAdmin(); + +// Fonction pour ajouter un groupe à la liste des groupes autorisés uniquement aux administrateurs +async function addGroupToOnlyAdminList(groupeJid) { + const client = await pool.connect(); + try { + // Insérez le groupe dans la table "onlyAdmin" + const query = "INSERT INTO onlyAdmin (groupeJid) VALUES ($1)"; + const values = [groupeJid]; + + await client.query(query, values); + console.log(`Groupe JID ${groupeJid} ajouté à la liste des groupes onlyAdmin.`); + } catch (error) { + console.error("Erreur lors de l'ajout du groupe onlyAdmin :", error); + } finally { + client.release(); + } +} + +// Fonction pour vérifier si un groupe est autorisé uniquement aux administrateurs +async function isGroupOnlyAdmin(groupeJid) { + const client = await pool.connect(); + try { + // Vérifiez si le groupe existe dans la table "onlyAdmin" + const query = "SELECT EXISTS (SELECT 1 FROM onlyAdmin WHERE groupeJid = $1)"; + const values = [groupeJid]; + + const result = await client.query(query, values); + return result.rows[0].exists; + } catch (error) { + console.error("Erreur lors de la vérification du groupe onlyAdmin :", error); + return false; + } finally { + client.release(); + } +} + +// Fonction pour supprimer un groupe de la liste des groupes onlyAdmin +async function removeGroupFromOnlyAdminList(groupeJid) { + const client = await pool.connect(); + try { + // Supprimez le groupe de la table "onlyAdmin" + const query = "DELETE FROM onlyAdmin WHERE groupeJid = $1"; + const values = [groupeJid]; + + await client.query(query, values); + console.log(`Groupe JID ${groupeJid} supprimé de la liste des groupes onlyAdmin.`); + } catch (error) { + console.error("Erreur lors de la suppression du groupe onlyAdmin :", error); + } finally { + client.release(); + } +} + +module.exports = { + addGroupToOnlyAdminList, + isGroupOnlyAdmin, + removeGroupFromOnlyAdminList, +}; diff --git a/bdd/stickcmd.js b/bdd/stickcmd.js index 2156046..b6bcc81 100644 --- a/bdd/stickcmd.js +++ b/bdd/stickcmd.js @@ -1,134 +1,134 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - - -const pool = new Pool(proConfig); - -async function creerTableStickcmd() { - try { - await pool.query(` - CREATE TABLE IF NOT EXISTS stickcmd ( - cmd text PRIMARY KEY, - id text NOT NULL - ); - `); - console.log("La table 'stickcmd' a été créée avec succès."); - } catch (e) { - console.error("Une erreur est survenue lors de la création de la table 'stickcmd':", e); - } -} - -creerTableStickcmd(); - -async function addstickcmd(cmd, id) { - let client; - try { - client = await pool.connect(); - const query = "INSERT INTO stickcmd(cmd, id) VALUES ($1, $2)"; - const values = [cmd, id]; - await client.query(query, values); - } catch (error) { - console.log('Erreur lors de l\'ajout du stickcmd', error); - } finally { - if (client) { - client.release(); - } - } -} - -async function inStickCmd(id) { - let client; - try { - client = await pool.connect(); - const query = "SELECT EXISTS (SELECT 1 FROM stickcmd WHERE id = $1)"; - const values = [id]; - const result = await client.query(query, values); - return result.rows[0].exists; - } catch (error) { - return false; - } finally { - if (client) { - client.release(); - } - } -} - -async function deleteCmd(cmd) { - const client = await pool.connect(); - try { - const query = "DELETE FROM stickcmd WHERE cmd = $1"; - const values = [cmd]; - await client.query(query, values); - console.log(`Le stickcmd ${cmd} a été supprimé de la liste.`); - } catch (error) { - console.error("Erreur lors de la suppression du stickcmd :", error); - } finally { - client.release(); - } -} ; - -async function getCmdById(id) { - let client; - try { - client = await pool.connect(); - const query = "SELECT cmd FROM stickcmd WHERE id = $1"; - const values = [id]; - const result = await client.query(query, values); - - if (result.rows.length > 0) { - return result.rows[0].cmd; - } else { - return null; // Ajustez la valeur de retour en conséquence si l'id n'est pas trouvé. - } - } catch (error) { - console.error("Erreur lors de la récupération du stickcmd par id :", error); - return null; // Gérer l'erreur et ajuster la valeur de retour si nécessaire. - } finally { - if (client) { - client.release(); - } - } - }; - - async function getAllStickCmds() { - - const client = await pool.connect(); - try { - - const query = "SELECT cmd FROM stickcmd"; - const result = await client.query(query); - return result.rows; - } catch (error) { - console.error("Erreur lors de la récupération de toutes les commandes stickcmd :", error); - return []; - } finally { - client.release(); - } -} ; - - - - - - module.exports = { - - addstickcmd, - deleteCmd, - getCmdById, - inStickCmd, - getAllStickCmds, +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + + +const pool = new Pool(proConfig); + +async function creerTableStickcmd() { + try { + await pool.query(` + CREATE TABLE IF NOT EXISTS stickcmd ( + cmd text PRIMARY KEY, + id text NOT NULL + ); + `); + console.log("La table 'stickcmd' a été créée avec succès."); + } catch (e) { + console.error("Une erreur est survenue lors de la création de la table 'stickcmd':", e); + } +} + +creerTableStickcmd(); + +async function addstickcmd(cmd, id) { + let client; + try { + client = await pool.connect(); + const query = "INSERT INTO stickcmd(cmd, id) VALUES ($1, $2)"; + const values = [cmd, id]; + await client.query(query, values); + } catch (error) { + console.log('Erreur lors de l\'ajout du stickcmd', error); + } finally { + if (client) { + client.release(); + } + } +} + +async function inStickCmd(id) { + let client; + try { + client = await pool.connect(); + const query = "SELECT EXISTS (SELECT 1 FROM stickcmd WHERE id = $1)"; + const values = [id]; + const result = await client.query(query, values); + return result.rows[0].exists; + } catch (error) { + return false; + } finally { + if (client) { + client.release(); + } + } +} + +async function deleteCmd(cmd) { + const client = await pool.connect(); + try { + const query = "DELETE FROM stickcmd WHERE cmd = $1"; + const values = [cmd]; + await client.query(query, values); + console.log(`Le stickcmd ${cmd} a été supprimé de la liste.`); + } catch (error) { + console.error("Erreur lors de la suppression du stickcmd :", error); + } finally { + client.release(); + } +} ; + +async function getCmdById(id) { + let client; + try { + client = await pool.connect(); + const query = "SELECT cmd FROM stickcmd WHERE id = $1"; + const values = [id]; + const result = await client.query(query, values); + + if (result.rows.length > 0) { + return result.rows[0].cmd; + } else { + return null; // Ajustez la valeur de retour en conséquence si l'id n'est pas trouvé. + } + } catch (error) { + console.error("Erreur lors de la récupération du stickcmd par id :", error); + return null; // Gérer l'erreur et ajuster la valeur de retour si nécessaire. + } finally { + if (client) { + client.release(); + } + } + }; + + async function getAllStickCmds() { + + const client = await pool.connect(); + try { + + const query = "SELECT cmd FROM stickcmd"; + const result = await client.query(query); + return result.rows; + } catch (error) { + console.error("Erreur lors de la récupération de toutes les commandes stickcmd :", error); + return []; + } finally { + client.release(); + } +} ; + + + + + + module.exports = { + + addstickcmd, + deleteCmd, + getCmdById, + inStickCmd, + getAllStickCmds, } \ No newline at end of file diff --git a/bdd/sudo.js b/bdd/sudo.js index 8e6b64d..af6adba 100644 --- a/bdd/sudo.js +++ b/bdd/sudo.js @@ -1,143 +1,143 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -const pool = new Pool(proConfig); - -// Fonction pour créer la table "sudo" -async function createSudoTable() { - const client = await pool.connect(); - try { - // Exécutez une requête SQL pour créer la table "sudo" si elle n'existe pas déjà - await client.query(` - CREATE TABLE IF NOT EXISTS sudo ( - id serial PRIMARY KEY, - jid text NOT NULL - ); - `); - console.log("La table 'sudo' a été créée avec succès."); - } catch (error) { - console.error("Une erreur est survenue lors de la création de la table 'sudo':", error); - } finally { - client.release(); - } -} - -// Appelez la méthode pour créer la table "sudo" -createSudoTable(); - - -// Fonction pour vérifier si un groupe est banni -async function issudo(jid) { - const client = await pool.connect(); - try { - // Vérifiez si le groupe existe dans la table "banGroup" - const query = "SELECT EXISTS (SELECT 1 FROM sudo WHERE jid = $1)"; - const values = [jid]; - - const result = await client.query(query, values); - return result.rows[0].exists; - } catch (error) { - console.error("Erreur lors de la vérification du groupe banni :", error); - return false; - } finally { - client.release(); - } - } - - // Fonction pour supprimer un groupe de la liste des groupes bannis - async function removeSudoNumber(jid) { - const client = await pool.connect(); - try { - // Supprimez le numéro de téléphone de la table "sudo" - const query = "DELETE FROM sudo WHERE jid = $1"; - const values = [jid]; - - await client.query(query, values); - console.log(`Numéro de téléphone ${jid} supprimé de la liste des numéros de téléphone autorisés.`); - } catch (error) { - console.error("Erreur lors de la suppression du numéro de téléphone autorisé :", error); - } finally { - client.release(); - } - } - - async function addSudoNumber(jid) { - const client = await pool.connect(); - try { - // Insérez le numéro de téléphone dans la table "sudo" - const query = "INSERT INTO sudo (jid) VALUES ($1)"; - const values = [jid]; - - await client.query(query, values); - console.log(`Numéro de téléphone ${jid} ajouté à la liste des numéros de téléphone autorisés.`); - } catch (error) { - console.error("Erreur lors de l'ajout du numéro de téléphone autorisé :", error); - } finally { - client.release(); - } - } - - async function getAllSudoNumbers() { - const client = await pool.connect(); - try { - // Sélectionnez tous les numéros de téléphone de la table "sudo" - const query = "SELECT jid FROM sudo"; - const result = await client.query(query); - - // Créez un tableau des numéros de téléphone - const sudoNumbers = result.rows.map((row) => row.jid); - - return sudoNumbers; - } catch (error) { - console.error("Erreur lors de la récupération des numéros de téléphone autorisés :", error); - return []; - } finally { - client.release(); - } - } - - async function isSudoTableNotEmpty() { - const client = await pool.connect(); - - try { - // Exécutez une requête SQL pour compter le nombre de lignes dans la table "sudo" - const result = await client.query('SELECT COUNT(*) FROM sudo'); - - // Récupérez la valeur du compteur (nombre de lignes) - const rowCount = parseInt(result.rows[0].count); - - // Si le nombre de lignes est supérieur à zéro, la table n'est pas vide - return rowCount > 0; - } catch (error) { - console.error('Erreur lors de la vérification de la table "sudo" :', error); - return false; // En cas d'erreur, considérez la table comme vide - } finally { - client.release(); - } - }; - - - - - module.exports = { - issudo, - addSudoNumber, - removeSudoNumber, - getAllSudoNumbers, - isSudoTableNotEmpty - }; - +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +const pool = new Pool(proConfig); + +// Fonction pour créer la table "sudo" +async function createSudoTable() { + const client = await pool.connect(); + try { + // Exécutez une requête SQL pour créer la table "sudo" si elle n'existe pas déjà + await client.query(` + CREATE TABLE IF NOT EXISTS sudo ( + id serial PRIMARY KEY, + jid text NOT NULL + ); + `); + console.log("La table 'sudo' a été créée avec succès."); + } catch (error) { + console.error("Une erreur est survenue lors de la création de la table 'sudo':", error); + } finally { + client.release(); + } +} + +// Appelez la méthode pour créer la table "sudo" +createSudoTable(); + + +// Fonction pour vérifier si un groupe est banni +async function issudo(jid) { + const client = await pool.connect(); + try { + // Vérifiez si le groupe existe dans la table "banGroup" + const query = "SELECT EXISTS (SELECT 1 FROM sudo WHERE jid = $1)"; + const values = [jid]; + + const result = await client.query(query, values); + return result.rows[0].exists; + } catch (error) { + console.error("Erreur lors de la vérification du groupe banni :", error); + return false; + } finally { + client.release(); + } + } + + // Fonction pour supprimer un groupe de la liste des groupes bannis + async function removeSudoNumber(jid) { + const client = await pool.connect(); + try { + // Supprimez le numéro de téléphone de la table "sudo" + const query = "DELETE FROM sudo WHERE jid = $1"; + const values = [jid]; + + await client.query(query, values); + console.log(`Numéro de téléphone ${jid} supprimé de la liste des numéros de téléphone autorisés.`); + } catch (error) { + console.error("Erreur lors de la suppression du numéro de téléphone autorisé :", error); + } finally { + client.release(); + } + } + + async function addSudoNumber(jid) { + const client = await pool.connect(); + try { + // Insérez le numéro de téléphone dans la table "sudo" + const query = "INSERT INTO sudo (jid) VALUES ($1)"; + const values = [jid]; + + await client.query(query, values); + console.log(`Numéro de téléphone ${jid} ajouté à la liste des numéros de téléphone autorisés.`); + } catch (error) { + console.error("Erreur lors de l'ajout du numéro de téléphone autorisé :", error); + } finally { + client.release(); + } + } + + async function getAllSudoNumbers() { + const client = await pool.connect(); + try { + // Sélectionnez tous les numéros de téléphone de la table "sudo" + const query = "SELECT jid FROM sudo"; + const result = await client.query(query); + + // Créez un tableau des numéros de téléphone + const sudoNumbers = result.rows.map((row) => row.jid); + + return sudoNumbers; + } catch (error) { + console.error("Erreur lors de la récupération des numéros de téléphone autorisés :", error); + return []; + } finally { + client.release(); + } + } + + async function isSudoTableNotEmpty() { + const client = await pool.connect(); + + try { + // Exécutez une requête SQL pour compter le nombre de lignes dans la table "sudo" + const result = await client.query('SELECT COUNT(*) FROM sudo'); + + // Récupérez la valeur du compteur (nombre de lignes) + const rowCount = parseInt(result.rows[0].count); + + // Si le nombre de lignes est supérieur à zéro, la table n'est pas vide + return rowCount > 0; + } catch (error) { + console.error('Erreur lors de la vérification de la table "sudo" :', error); + return false; // En cas d'erreur, considérez la table comme vide + } finally { + client.release(); + } + }; + + + + + module.exports = { + issudo, + addSudoNumber, + removeSudoNumber, + getAllSudoNumbers, + isSudoTableNotEmpty + }; + diff --git a/bdd/warn.js b/bdd/warn.js index 80584f2..e8047f9 100644 --- a/bdd/warn.js +++ b/bdd/warn.js @@ -1,109 +1,109 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -// Créez une pool de connexions PostgreSQL -const pool = new Pool(proConfig); - -async function creerTableWarnUsers() { - const client = await pool.connect(); - try { - // Exécutez la requête SQL pour créer la table "warn_users" si elle n'existe pas - const query = ` - CREATE TABLE IF NOT EXISTS warn_users ( - jid text PRIMARY KEY, - warn_count integer DEFAULT 0 - ); - `; - await client.query(query); - console.log("La table 'warn_users' a été créée avec succès."); - } catch (error) { - console.error("Erreur lors de la création de la table 'warn_users':", error); - } finally { - client.release(); - } - }; - creerTableWarnUsers(); - - async function ajouterUtilisateurAvecWarnCount(jid) { - const client = await pool.connect(); - try { - // Exécutez une requête SQL pour ajouter ou mettre à jour l'utilisateur - const query = ` - INSERT INTO warn_users (jid, warn_count) - VALUES ($1, 1) - ON CONFLICT (jid) - DO UPDATE SET warn_count = warn_users.warn_count + 1; - `; - const values = [jid]; - - await client.query(query, values); - console.log(`Utilisateur ${jid} ajouté ou mis à jour avec un warn_count de 1.`); - } catch (error) { - console.error("Erreur lors de l'ajout ou de la mise à jour de l'utilisateur :", error); - } finally { - client.release(); - } - } ; - - async function getWarnCountByJID(jid) { - const client = await pool.connect(); - try { - // Exécutez une requête SQL pour récupérer le warn_count par JID - const query = "SELECT warn_count FROM warn_users WHERE jid = $1"; - const values = [jid]; - - const result = await client.query(query, values); - if (result.rows.length > 0) { - const warnCount = result.rows[0].warn_count; - return warnCount; - } else { - // Si l'utilisateur n'est pas trouvé, retournez 0 ou une autre valeur par défaut - return 0; - } - } catch (error) { - console.error("Erreur lors de la récupération du warn_count :", error); - return -1; // Retournez une valeur d'erreur ou une autre valeur par défaut en cas d'erreur - } finally { - client.release(); - } - } ; - - async function resetWarnCountByJID(jid) { - const client = await pool.connect(); - try { - // Exécutez une requête SQL pour réinitialiser le warn_count à 0 pour le JID spécifié - const query = "UPDATE warn_users SET warn_count = 0 WHERE jid = $1"; - const values = [jid]; - - await client.query(query, values); - console.log(`Le warn_count de l'utilisateur ${jid} a été réinitialisé à 0.`); - } catch (error) { - console.error("Erreur lors de la réinitialisation du warn_count :", error); - } finally { - client.release(); - } - } - - - - - module.exports = { - ajouterUtilisateurAvecWarnCount, - getWarnCountByJID, - resetWarnCountByJID, - }; +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +// Créez une pool de connexions PostgreSQL +const pool = new Pool(proConfig); + +async function creerTableWarnUsers() { + const client = await pool.connect(); + try { + // Exécutez la requête SQL pour créer la table "warn_users" si elle n'existe pas + const query = ` + CREATE TABLE IF NOT EXISTS warn_users ( + jid text PRIMARY KEY, + warn_count integer DEFAULT 0 + ); + `; + await client.query(query); + console.log("La table 'warn_users' a été créée avec succès."); + } catch (error) { + console.error("Erreur lors de la création de la table 'warn_users':", error); + } finally { + client.release(); + } + }; + creerTableWarnUsers(); + + async function ajouterUtilisateurAvecWarnCount(jid) { + const client = await pool.connect(); + try { + // Exécutez une requête SQL pour ajouter ou mettre à jour l'utilisateur + const query = ` + INSERT INTO warn_users (jid, warn_count) + VALUES ($1, 1) + ON CONFLICT (jid) + DO UPDATE SET warn_count = warn_users.warn_count + 1; + `; + const values = [jid]; + + await client.query(query, values); + console.log(`Utilisateur ${jid} ajouté ou mis à jour avec un warn_count de 1.`); + } catch (error) { + console.error("Erreur lors de l'ajout ou de la mise à jour de l'utilisateur :", error); + } finally { + client.release(); + } + } ; + + async function getWarnCountByJID(jid) { + const client = await pool.connect(); + try { + // Exécutez une requête SQL pour récupérer le warn_count par JID + const query = "SELECT warn_count FROM warn_users WHERE jid = $1"; + const values = [jid]; + + const result = await client.query(query, values); + if (result.rows.length > 0) { + const warnCount = result.rows[0].warn_count; + return warnCount; + } else { + // Si l'utilisateur n'est pas trouvé, retournez 0 ou une autre valeur par défaut + return 0; + } + } catch (error) { + console.error("Erreur lors de la récupération du warn_count :", error); + return -1; // Retournez une valeur d'erreur ou une autre valeur par défaut en cas d'erreur + } finally { + client.release(); + } + } ; + + async function resetWarnCountByJID(jid) { + const client = await pool.connect(); + try { + // Exécutez une requête SQL pour réinitialiser le warn_count à 0 pour le JID spécifié + const query = "UPDATE warn_users SET warn_count = 0 WHERE jid = $1"; + const values = [jid]; + + await client.query(query, values); + console.log(`Le warn_count de l'utilisateur ${jid} a été réinitialisé à 0.`); + } catch (error) { + console.error("Erreur lors de la réinitialisation du warn_count :", error); + } finally { + client.release(); + } + } + + + + + module.exports = { + ajouterUtilisateurAvecWarnCount, + getWarnCountByJID, + resetWarnCountByJID, + }; \ No newline at end of file diff --git a/bdd/welcome.js b/bdd/welcome.js index f8c012b..6ebf63e 100644 --- a/bdd/welcome.js +++ b/bdd/welcome.js @@ -1,96 +1,96 @@ -// Importez dotenv et chargez les variables d'environnement depuis le fichier .env -require("dotenv").config(); - -const { Pool } = require("pg"); - -// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations -const s = require("../set"); - -// Récupérez l'URL de la base de données de la variable s.DATABASE_URL -var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" -const proConfig = { - connectionString: dbUrl, - ssl: { - rejectUnauthorized: false, - }, -}; - -// Créez une pool de connexions PostgreSQL -const pool = new Pool(proConfig); - -// Vous pouvez maintenant utiliser 'pool' pour interagir avec votre base de données PostgreSQL. -const creerTableevents = async () => { - try { - await pool.query(` - CREATE TABLE IF NOT EXISTS events ( - Id serial PRIMARY KEY, - jid text UNIQUE, - welcome text DEFAULT 'non', - goodbye text DEFAULT 'non', - antipromote text DEFAULT 'non', - antidemote text DEFAULT 'non' - ); - `); - console.log("La table 'events' a été créée avec succès."); - } catch (e) { - console.error("Une erreur est survenue lors de la création de la table 'events':", e); - } -}; - -// Appelez la méthode pour créer la table "banUser" -creerTableevents(); - - - -// Fonction pour ajouter un utilisateur à la liste des bannis -async function attribuerUnevaleur(jid, row, valeur) { - const client = await pool.connect(); - - try { - // Vérifions si le jid existe dans la table - const result = await client.query('SELECT * FROM events WHERE jid = $1', [jid]); - - // Vérifiez la longueur des lignes (rows) pour déterminer si le jid existe - const jidExiste = result.rows.length > 0; - - if (jidExiste) { - // Si le jid existe, mettez à jour la valeur de la colonne spécifiée (row) - await client.query(`UPDATE events SET ${row} = $1 WHERE jid = $2`, [valeur, jid]); - console.log(`La colonne ${row} a été actualisée sur ${valeur} pour le jid ${jid}`); - } else { - // Si le jid n'existe pas, ajoutez une nouvelle ligne avec le jid et la valeur spécifiés - await client.query(`INSERT INTO events (jid, ${row}) VALUES ($1, $2)`, [jid, valeur]); - console.log(`Nouveau jid ${jid} ajouté avec la colonne ${row} ayant la valeur ${valeur}`); - } - } catch (error) { - console.error("Erreur lors de l'actualisation de events :", error); - } finally { - client.release(); - } -}; - - -async function recupevents(jid, row) { - const client = await pool.connect() - try { - const result = await client.query('SELECT ' + row + ' FROM events WHERE jid = $1', [jid]); - const jidExists = result.rows.length > 0; - - if (jidExists) { - return result.rows[0][row]; - } else { - return 'non'; - } - } catch (e) { - console.error(e); - } finally { - client.release(); - } -} - - - -module.exports = { - attribuerUnevaleur, - recupevents, -}; +// Importez dotenv et chargez les variables d'environnement depuis le fichier .env +require("dotenv").config(); + +const { Pool } = require("pg"); + +// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations +const s = require("../set"); + +// Récupérez l'URL de la base de données de la variable s.DATABASE_URL +var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9" +const proConfig = { + connectionString: dbUrl, + ssl: { + rejectUnauthorized: false, + }, +}; + +// Créez une pool de connexions PostgreSQL +const pool = new Pool(proConfig); + +// Vous pouvez maintenant utiliser 'pool' pour interagir avec votre base de données PostgreSQL. +const creerTableevents = async () => { + try { + await pool.query(` + CREATE TABLE IF NOT EXISTS events ( + Id serial PRIMARY KEY, + jid text UNIQUE, + welcome text DEFAULT 'non', + goodbye text DEFAULT 'non', + antipromote text DEFAULT 'non', + antidemote text DEFAULT 'non' + ); + `); + console.log("La table 'events' a été créée avec succès."); + } catch (e) { + console.error("Une erreur est survenue lors de la création de la table 'events':", e); + } +}; + +// Appelez la méthode pour créer la table "banUser" +creerTableevents(); + + + +// Fonction pour ajouter un utilisateur à la liste des bannis +async function attribuerUnevaleur(jid, row, valeur) { + const client = await pool.connect(); + + try { + // Vérifions si le jid existe dans la table + const result = await client.query('SELECT * FROM events WHERE jid = $1', [jid]); + + // Vérifiez la longueur des lignes (rows) pour déterminer si le jid existe + const jidExiste = result.rows.length > 0; + + if (jidExiste) { + // Si le jid existe, mettez à jour la valeur de la colonne spécifiée (row) + await client.query(`UPDATE events SET ${row} = $1 WHERE jid = $2`, [valeur, jid]); + console.log(`La colonne ${row} a été actualisée sur ${valeur} pour le jid ${jid}`); + } else { + // Si le jid n'existe pas, ajoutez une nouvelle ligne avec le jid et la valeur spécifiés + await client.query(`INSERT INTO events (jid, ${row}) VALUES ($1, $2)`, [jid, valeur]); + console.log(`Nouveau jid ${jid} ajouté avec la colonne ${row} ayant la valeur ${valeur}`); + } + } catch (error) { + console.error("Erreur lors de l'actualisation de events :", error); + } finally { + client.release(); + } +}; + + +async function recupevents(jid, row) { + const client = await pool.connect() + try { + const result = await client.query('SELECT ' + row + ' FROM events WHERE jid = $1', [jid]); + const jidExists = result.rows.length > 0; + + if (jidExists) { + return result.rows[0][row]; + } else { + return 'non'; + } + } catch (e) { + console.error(e); + } finally { + client.release(); + } +} + + + +module.exports = { + attribuerUnevaleur, + recupevents, +};