Skip to content

Commit

Permalink
Changement de bcp de choses
Browse files Browse the repository at this point in the history
Passage d'eslint, correction de typos, changement de domaine, utilisation de nouvelles propriétés Bachero, changement de domaine, dépréciation de "longDescription" et suppression des "onloadMessage" vide
  • Loading branch information
johan-perso committed Sep 9, 2023
1 parent 3f7a0a0 commit 23629cf
Show file tree
Hide file tree
Showing 67 changed files with 1,228 additions and 1,426 deletions.
4 changes: 2 additions & 2 deletions modules/bachero.module.autolink/autolink-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ module.exports = {
})
},

// Code a executer quand la commande est appelée
// Code à exécuter quand la commande est appelée
async execute(interaction){
// Vérifier si la fonctionnalité est activée
var isEnabled = await bacheroFunctions.database.get(database, `enabled-${interaction.guild.id}`)

// Créer un embed
var embed = new EmbedBuilder()
.setTitle("Configuration d'AutoLink")
.setColor(bacheroFunctions.config.getValue("bachero", "embedColor"))
.setColor(bacheroFunctions.colors.primary)
if(isEnabled) embed.setDescription("La fonctionnalité AutoLink est activée sur l'ensemble de ce serveur.\nCelle-ci détecte les messages envoyés par n'importe qui sur votre serveur et en extrait certains liens, pour afficher des détails dans un embed.\n\n:warning: Les liens ne sont pas vérifiés et peuvent être malicieux.")
else embed.setDescription("La fonctionnalité AutoLink est désactivée sur ce serveur.\nLorsqu'elle est activée, elle détecte les messages envoyés par les utilisateurs et en extrait certains liens, pour en afficher des détails simplifiés.\n\n:warning: Les liens ne sont pas vérifiés et peuvent être malicieux, à activer avec prudence.")

Expand Down
2 changes: 1 addition & 1 deletion modules/bachero.module.autolink/autolink.js
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ module.exports = {
var embed = new EmbedBuilder()
.setTitle(`AutoLink - ${links.length > 1 ? "Des liens ont été détectés" : "Un lien a été détecté"}`)
.setDescription(description.join("\n\n").substring(0, 4000))
.setColor(bacheroFunctions.config.getValue("bachero", "embedColor"))
.setColor(bacheroFunctions.colors.primary)
.setFooter({ text: `${description.join("\n\n").length > 2000 ? "Les informations sont tronquées." : "Le contenu de ce message n'est pas vérifié"}. Informations obtenues grâce au message de ${message.author.discriminator == "0" ? message.author.username : message.author.tag} (ID: ${message.author.id}).` })
message.reply({ embeds: [embed] }).catch(err => {})
})
Expand Down
4 changes: 0 additions & 4 deletions modules/bachero.module.autolink/manifest.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@

// Description du module
"shortDescription": "Détecte lorsqu'un utilisateur envoie un lien, et affiche des informations sur certains sites lorsque cela peut être utile",
"longDescription": "Détecte les messages contenant un lien, récupère des informations à partir de celui-ci et les envoie via un embed détaillé",

// Message affiché lorsque le module finit de charger (recommandé de laisser vide)
"onloadMessage": "",

// Source (par exemple, lien du module sur GitHub),
"source": "https://github.com/bacherobot/bot",
Expand Down
4 changes: 2 additions & 2 deletions modules/bachero.module.botInfo/botinfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ module.exports = {
.setName("botinfo")
.setDescription(`Fournis des informations sur ${bacheroFunctions.config.getValue("bachero", "botName")}`),

// Code a executer quand la commande est appelée
// Code à exécuter quand la commande est appelée
async execute(interaction){
// Obtenir le client du bot
if(!botClient) botClient = bacheroFunctions.botClient.get()
Expand All @@ -70,7 +70,7 @@ module.exports = {
// Créer un embed pour afficher les informations
var embed = new EmbedBuilder()
.setTitle(`Informations sur ${bacheroFunctions.config.getValue("bachero", "botName")}${bacheroFunctions.config.getValue("bachero", "botName").trim().toLowerCase() == "bachero" ? "" : " *(par Bachero)*"}`)
.setColor(bacheroFunctions.config.getValue("bachero", "embedColor"))
.setColor(bacheroFunctions.colors.primary)
var listFields = [
!hideStartTime ? { name: "Dernier démarrage", value: `<t:${Math.round(botClient.readyTimestamp / 1000)}:f>`, inline: true } : null,
cache.guildCount ? { name: "Statistiques Discord", value: `${cache.guildCount?.value} serveurs, ${cache.membersCount?.value} membres`, inline: true } : null,
Expand Down
4 changes: 0 additions & 4 deletions modules/bachero.module.botInfo/manifest.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@

// Description du module
"shortDescription": "Ce module renvoie des informations sur le robot",
"longDescription": "Ajoute une commande (/botinfo) qui envoie de nombreuses informations sur le robot et son hébergement.",

// Message affiché lorsque le module finit de charger (recommandé de laisser vide)
"onloadMessage": "",

// Source (par exemple, lien du module sur GitHub),
"source": "https://github.com/bacherobot/bot",
Expand Down
162 changes: 72 additions & 90 deletions modules/bachero.module.colorInfo/color.js

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions modules/bachero.module.colorInfo/manifest.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@

// Description du module
"shortDescription": "Ce module vous donne des informations sur une couleur",
"longDescription": "Ce module récupère et vous affiche des informations sur une couleur",

// Message affiché lorsque le module finit de charger (recommandé de laisser vide)
"onloadMessage": "",

// Source (par exemple, lien du module sur GitHub),
"source": "https://github.com/bacherobot/bot",
Expand Down
2 changes: 1 addition & 1 deletion modules/bachero.module.contributors/contributeurs.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ module.exports = {
.setName("contributeurs")
.setDescription("Liste les personnes ayant le plus contribué au développement de ce robot"),

// Code a executer quand la commande est appelée
// Code à exécuter quand la commande est appelée
async execute(interaction){
// On defer l'interaction, si c'est pas une commande texte (on a pas besoin de defer pour les commandes texte car il n'y a pas de timeout)
if(interaction.sourceType != "textCommand" && await interaction.deferReply({ ephemeral: true }).catch(err => { return "stop" }) == "stop") return
Expand Down
3 changes: 0 additions & 3 deletions modules/bachero.module.contributors/manifest.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
// Description du module
"shortDescription": "Liste les contributeurs du dépôt GitHub de Bachero.",

// Message affiché lorsque le module finit de charger (recommandé de laisser vide)
"onloadMessage": "",

// Source (par exemple, lien du module sur GitHub),
"source": "https://github.com/bacherobot/bot",

Expand Down
26 changes: 13 additions & 13 deletions modules/bachero.module.databaseTest/delete.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
const { SlashCommandBuilder, EmbedBuilder } = require('discord.js')
const bacheroFunctions = require('../../functions')
const database = bacheroFunctions.database.getDatabase('bachero.module.databaseTest')
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js")
const bacheroFunctions = require("../../functions")
const database = bacheroFunctions.database.getDatabase("bachero.module.databaseTest")

module.exports = {
// Définir les infos de la commande slash
slashInfo: new SlashCommandBuilder()
.setName('db-delete')
.setDescription('Effectue une opération sur la BDD : delete')
.addStringOption(option => option.setName('property')
.setDescription('Propriété')
.setName("db-delete")
.setDescription("Effectue une opération sur la BDD : delete")
.addStringOption(option => option.setName("property")
.setDescription("Propriété")
.setRequired(true)),

// Code a executer quand la commande est appelée
// Code à exécuter quand la commande est appelée
async execute(interaction){
// Obtenir la propriété
var property = interaction.options.getString('property')
var property = interaction.options.getString("property")

// Supprimer la propriété
property = await bacheroFunctions.database.delete(database, property)

// Créer un embed
var embed = new EmbedBuilder()
.setTitle('Opération effectuée')
.setDescription("```\n" + (property?.toString()?.replace(/`/g, ' `') || property) + "\n```")
.setColor(bacheroFunctions.config.getValue('bachero', 'embedColor'))
.setFooter({text:`L'activation du module "bachero.module.databaseTest" est fortement déconseillée`})
.setTitle("Opération effectuée")
.setDescription(`\`\`\`\n${property?.toString()?.replace(/`/g, " `") || property}\n\`\`\``)
.setColor(bacheroFunctions.colors.primary)
.setFooter({ text: "L'activation du module \"bachero.module.databaseTest\" est fortement déconseillée" })

// Répondre à l'utilisateur
interaction.reply({ embeds: [embed] }).catch(err => {})
Expand Down
26 changes: 13 additions & 13 deletions modules/bachero.module.databaseTest/get.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
const { SlashCommandBuilder, EmbedBuilder } = require('discord.js')
const bacheroFunctions = require('../../functions')
const database = bacheroFunctions.database.getDatabase('bachero.module.databaseTest')
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js")
const bacheroFunctions = require("../../functions")
const database = bacheroFunctions.database.getDatabase("bachero.module.databaseTest")

module.exports = {
// Définir les infos de la commande slash
slashInfo: new SlashCommandBuilder()
.setName('db-get')
.setDescription('Effectue une opération sur la BDD : get')
.addStringOption(option => option.setName('property')
.setDescription('Propriété')
.setName("db-get")
.setDescription("Effectue une opération sur la BDD : get")
.addStringOption(option => option.setName("property")
.setDescription("Propriété")
.setRequired(true)),

// Code a executer quand la commande est appelée
// Code à exécuter quand la commande est appelée
async execute(interaction){
// Obtenir la propriété
var property = interaction.options.getString('property')
var property = interaction.options.getString("property")
property = await bacheroFunctions.database.get(database, property)
property = JSON.stringify(property, null, 2) || property

// Créer un embed
var embed = new EmbedBuilder()
.setTitle('Opération effectuée')
.setDescription("```\n" + (property?.toString()?.replace(/`/g, ' `') || property) + "\n```")
.setColor(bacheroFunctions.config.getValue('bachero', 'embedColor'))
.setFooter({text:`L'activation du module "bachero.module.databaseTest" est fortement déconseillée`})
.setTitle("Opération effectuée")
.setDescription(`\`\`\`\n${property?.toString()?.replace(/`/g, " `") || property}\n\`\`\``)
.setColor(bacheroFunctions.colors.primary)
.setFooter({ text: "L'activation du module \"bachero.module.databaseTest\" est fortement déconseillée" })

// Répondre à l'utilisateur
interaction.reply({ embeds: [embed] }).catch(err => {})
Expand Down
20 changes: 10 additions & 10 deletions modules/bachero.module.databaseTest/getAll.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
const { SlashCommandBuilder, EmbedBuilder } = require('discord.js')
const bacheroFunctions = require('../../functions')
const database = bacheroFunctions.database.getDatabase('bachero.module.databaseTest')
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js")
const bacheroFunctions = require("../../functions")
const database = bacheroFunctions.database.getDatabase("bachero.module.databaseTest")

module.exports = {
// Définir les infos de la commande slash
slashInfo: new SlashCommandBuilder()
.setName('db-getall')
.setDescription('Effectue une opération sur la BDD : getAll'),
.setName("db-getall")
.setDescription("Effectue une opération sur la BDD : getAll"),

// Code a executer quand la commande est appelée
// Code à exécuter quand la commande est appelée
async execute(interaction){
// Obtenir tout le contenu de la base de données
var entireDatabase = await bacheroFunctions.database.getAll(database)
entireDatabase = JSON.stringify(entireDatabase, null, 2) || entireDatabase

// Créer un embed
var embed = new EmbedBuilder()
.setTitle('Opération effectuée')
.setDescription("```\n" + (entireDatabase?.toString()?.replace(/`/g, ' `') || entireDatabase) + "\n```")
.setColor(bacheroFunctions.config.getValue('bachero', 'embedColor'))
.setFooter({text:`L'activation du module "bachero.module.databaseTest" est fortement déconseillée`})
.setTitle("Opération effectuée")
.setDescription(`\`\`\`\n${entireDatabase?.toString()?.replace(/`/g, " `") || entireDatabase}\n\`\`\``)
.setColor(bacheroFunctions.colors.primary)
.setFooter({ text: "L'activation du module \"bachero.module.databaseTest\" est fortement déconseillée" })

// Répondre à l'utilisateur
interaction.reply({ embeds: [embed] }).catch(err => {})
Expand Down
26 changes: 13 additions & 13 deletions modules/bachero.module.databaseTest/has.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
const { SlashCommandBuilder, EmbedBuilder } = require('discord.js')
const bacheroFunctions = require('../../functions')
const database = bacheroFunctions.database.getDatabase('bachero.module.databaseTest')
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js")
const bacheroFunctions = require("../../functions")
const database = bacheroFunctions.database.getDatabase("bachero.module.databaseTest")

module.exports = {
// Définir les infos de la commande slash
slashInfo: new SlashCommandBuilder()
.setName('db-has')
.setDescription('Effectue une opération sur la BDD : has')
.addStringOption(option => option.setName('property')
.setDescription('Propriété')
.setName("db-has")
.setDescription("Effectue une opération sur la BDD : has")
.addStringOption(option => option.setName("property")
.setDescription("Propriété")
.setRequired(true)),

// Code a executer quand la commande est appelée
// Code à exécuter quand la commande est appelée
async execute(interaction){
// Obtenir la propriété
var property = interaction.options.getString('property')
var property = interaction.options.getString("property")
property = await bacheroFunctions.database.has(database, property)

// Créer un embed
var embed = new EmbedBuilder()
.setTitle('Opération effectuée')
.setDescription("```\n" + (property?.toString()?.replace(/`/g, ' `') || property) + "\n```")
.setColor(bacheroFunctions.config.getValue('bachero', 'embedColor'))
.setFooter({text:`L'activation du module "bachero.module.databaseTest" est fortement déconseillée`})
.setTitle("Opération effectuée")
.setDescription(`\`\`\`\n${property?.toString()?.replace(/`/g, " `") || property}\n\`\`\``)
.setColor(bacheroFunctions.colors.primary)
.setFooter({ text: "L'activation du module \"bachero.module.databaseTest\" est fortement déconseillée" })

// Répondre à l'utilisateur
interaction.reply({ embeds: [embed] }).catch(err => {})
Expand Down
1 change: 0 additions & 1 deletion modules/bachero.module.databaseTest/manifest.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

// Description du module
"shortDescription": "Ce module permet de faire des tests sur la base de données",
"longDescription": "Ce module permet de faire des tests sur la base de données, en ajoutant quelques commandes pour faire des opérations",

// Message affiché lorsque le module finit de charger (recommandé de laisser vide)
"onloadMessage": "ce module n'est pas recommandé, n'importe qui peut accéder à la base de données",
Expand Down
32 changes: 16 additions & 16 deletions modules/bachero.module.databaseTest/set.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
const { SlashCommandBuilder, EmbedBuilder } = require('discord.js')
const bacheroFunctions = require('../../functions')
const database = bacheroFunctions.database.getDatabase('bachero.module.databaseTest')
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js")
const bacheroFunctions = require("../../functions")
const database = bacheroFunctions.database.getDatabase("bachero.module.databaseTest")

module.exports = {
// Définir les infos de la commande slash
slashInfo: new SlashCommandBuilder()
.setName('db-set')
.setDescription('Effectue une opération sur la BDD : set')
.addStringOption(option => option.setName('property')
.setDescription('Propriété')
.setName("db-set")
.setDescription("Effectue une opération sur la BDD : set")
.addStringOption(option => option.setName("property")
.setDescription("Propriété")
.setRequired(true))
.addStringOption(option => option.setName('value')
.setDescription('Valeur')
.addStringOption(option => option.setName("value")
.setDescription("Valeur")
.setRequired(true)),

// Code a executer quand la commande est appelée
// Code à exécuter quand la commande est appelée
async execute(interaction){
// Obtenir les arguments
var property = interaction.options.getString('property')
var value = interaction.options.getString('value')
var property = interaction.options.getString("property")
var value = interaction.options.getString("value")
try {
value = JSON.parse(value)
} catch (err) {}
Expand All @@ -28,10 +28,10 @@ module.exports = {

// Créer un embed
var embed = new EmbedBuilder()
.setTitle('Opération effectuée')
.setDescription("```\n" + (databaseChange?.toString()?.replace(/`/g, ' `') || databaseChange) + "\n```")
.setColor(bacheroFunctions.config.getValue('bachero', 'embedColor'))
.setFooter({text:`L'activation du module "bachero.module.databaseTest" est fortement déconseillée`})
.setTitle("Opération effectuée")
.setDescription(`\`\`\`\n${databaseChange?.toString()?.replace(/`/g, " `") || databaseChange}\n\`\`\``)
.setColor(bacheroFunctions.colors.primary)
.setFooter({ text: "L'activation du module \"bachero.module.databaseTest\" est fortement déconseillée" })

// Répondre à l'utilisateur
interaction.reply({ embeds: [embed] }).catch(err => {})
Expand Down
16 changes: 8 additions & 8 deletions modules/bachero.module.discordWhois/main.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
const fetch = require('node-fetch')
var CronJob = require('cron').CronJob
const fetch = require("node-fetch")
var CronJob = require("cron").CronJob
var botClient

// Tout les jours à 4h21 du matin
new CronJob('21 4 * * *', async function() {
new CronJob("21 4 * * *", (async () => {
// Si on a pas de client, on annule car c'est censé le définir automatiquement
if(!botClient) return

Expand All @@ -13,7 +13,7 @@ new CronJob('21 4 * * *', async function() {
var verifiedGuild = 0

// Obtenir le maximum de personne possible à travers tout les serveurs
var getMembers = new Promise(async (resolve, reject) => {
var getMembers = new Promise((resolve, reject) => {
botClient.guilds.cache.forEach(guild => { // A chaque serveur rejoint par le bot
guild.members.fetch().then(members => { // Obtenir tout les membres du serveur
members.forEach(member => { // A chaque membre du serveur
Expand All @@ -39,18 +39,18 @@ new CronJob('21 4 * * *', async function() {
// Faire une requête vers Discord WhoIs
setTimeout(async () => {
verified.push(userId)
await fetch(`https://discord-whois.vercel.app/api/getDiscord?discordId=${userId}`, { headers: { 'User-Agent': 'BacheroBot (+https://github.com/bacherobot/bot)' } }).catch(err => {})
await fetch(`https://discord-whois.vercel.app/api/getDiscord?discordId=${userId}`, { headers: { "User-Agent": "BacheroBot (+https://github.com/bacherobot/bot)" } }).catch(err => {})
}, i * 2000)
})
}).start()
})).start()

module.exports = {
async getClient(client){
// Définir le client dans le cache
botClient = client

// Quand quelqu'un change d'information sur son compte (event via le client)
botClient.on('userUpdate', async (oldUser, newUser) => {
botClient.on("userUpdate", async (oldUser, newUser) => {
// Si on a l'ancien pseudo, et le nouveau, vérifier que ça soit pas les mêmes
if(
(oldUser.username && newUser.username && oldUser.username == newUser.username) ||
Expand All @@ -59,7 +59,7 @@ module.exports = {
) return

// Ajouter dans l'historique WhoIs
if(newUser.id || oldUser.id) await fetch(`https://discord-whois.vercel.app/api/getDiscord?discordId=${newUser.id || oldUser.id}`, { headers: { 'User-Agent': 'BacheroBot (+https://github.com/bacherobot/bot)' } }).catch(err => {})
if(newUser.id || oldUser.id) await fetch(`https://discord-whois.vercel.app/api/getDiscord?discordId=${newUser.id || oldUser.id}`, { headers: { "User-Agent": "BacheroBot (+https://github.com/bacherobot/bot)" } }).catch(err => {})
})
}
}
4 changes: 0 additions & 4 deletions modules/bachero.module.discordWhois/manifest.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@

// Description du module
"shortDescription": "Ajoute tous les membres des serveurs dans l'historique Discord WhoIs",
"longDescription": "Ce module ajoute tous les membres de tous les serveurs dans l'historique de pseudo Discord WhoIs accessible via https://discord-whois.johanstick.me",

// Message affiché lorsque le module finit de charger (recommandé de laisser vide)
"onloadMessage": "",

// Source (par exemple, lien du module sur GitHub),
"source": "https://github.com/bacherobot/bot",
Expand Down
Loading

0 comments on commit 23629cf

Please sign in to comment.