mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 23:36:35 +02:00
upgrade code
This commit is contained in:
+92
-52
@@ -1,67 +1,107 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
|
||||
module.exports = {
|
||||
name: 'encode',
|
||||
description: 'Encoder ou décoder un language chiffré',
|
||||
utilisation: '<base64|binaire> <encode|decode> <texte>',
|
||||
emote: "🔐",
|
||||
category: "utils",
|
||||
async execute(message, args) {
|
||||
if (args.length < 3) {
|
||||
return message.reply('Usage: `encode <base64|binaire> <encode|decode> <texte>`');
|
||||
}
|
||||
name: "encode",
|
||||
aliases: ["encoder", "decode", "decoder"],
|
||||
description: "Encoder ou décoder un language chiffré",
|
||||
utilisation: "<base64|binaire> <encode|decode> <texte>",
|
||||
emote: "🔐",
|
||||
category: "utils",
|
||||
|
||||
const subcommand = args[0];
|
||||
const action = args[1];
|
||||
const text = args.slice(2).join(' ');
|
||||
async execute(message, args, client) {
|
||||
if (args.length < 3) {
|
||||
const botId = client.user.id;
|
||||
const defaultPrefix = "+";
|
||||
let data = await new Promise((resolve, reject) => {
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row ? JSON.parse(row.value) : {});
|
||||
});
|
||||
});
|
||||
const prefix = data.prefix || defaultPrefix;
|
||||
|
||||
if (subcommand !== 'base64' && subcommand !== 'binaire') {
|
||||
return message.reply('Invalid subcommand. Use `base64` or `binaire`.');
|
||||
}
|
||||
const embed = new EmbedBuilder()
|
||||
.setColor("#FF0000")
|
||||
.setTitle("❌ Erreur")
|
||||
.setDescription(`Usage: ${prefix}encode \`<base64|binaire>\` \`<encode|decode>\` \`<texte>\``)
|
||||
.setTimestamp();
|
||||
|
||||
if (action !== 'encode' && action !== 'decode') {
|
||||
return message.reply('Invalid action. Use `encode` or `decode`.');
|
||||
}
|
||||
const button = new ButtonBuilder()
|
||||
.setEmoji('✖️')
|
||||
.setCustomId('delete')
|
||||
.setStyle(ButtonStyle.Secondary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(button);
|
||||
|
||||
if (subcommand === 'base64') {
|
||||
let result;
|
||||
if (action === 'encode') {
|
||||
result = btoa(text);
|
||||
} else {
|
||||
result = atob(text);
|
||||
}
|
||||
return message.channel.send(`**Resultat:** \`${result}\``);
|
||||
}
|
||||
const errorMessage = await message.reply({ embeds: [embed], components: [row]});
|
||||
|
||||
if (subcommand === 'binaire') {
|
||||
let result;
|
||||
if (action === 'encode') {
|
||||
result = texteVersBinaire(text);
|
||||
} else {
|
||||
result = binaireVersTexte(text);
|
||||
}
|
||||
return message.channel.send(`**Resultat:** \`${result}\``);
|
||||
const filter = i => i.customId === 'delete' && i.user.id === message.author.id;
|
||||
const collector = errorMessage.createMessageComponentCollector({ filter, time: 300000 });
|
||||
collector.on('collect', async () => {
|
||||
return errorMessage.delete();
|
||||
});
|
||||
} else {
|
||||
|
||||
const subcommand = args[0];
|
||||
const action = args[1];
|
||||
const text = args.slice(2).join(" ");
|
||||
|
||||
if (subcommand !== "base64" && subcommand !== "binaire") {
|
||||
return message.reply("Invalid subcommand. Use `base64` or `binaire`.");
|
||||
}
|
||||
|
||||
if (action !== "encode" && action !== "decode") {
|
||||
return message.reply("Invalid action. Use `encode` or `decode`.");
|
||||
}
|
||||
|
||||
if (subcommand === "base64") {
|
||||
let result;
|
||||
if (action === "encode") {
|
||||
result = btoa(text);
|
||||
} else {
|
||||
result = atob(text);
|
||||
}
|
||||
},
|
||||
return message.channel.send(`**Resultat:** \`${result}\``);
|
||||
}
|
||||
|
||||
if (subcommand === "binaire") {
|
||||
let result;
|
||||
if (action === "encode") {
|
||||
result = texteVersBinaire(text);
|
||||
} else {
|
||||
result = binaireVersTexte(text);
|
||||
}
|
||||
return message.channel.send(`**Resultat:** \`${result}\``);
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
function texteVersBinaire(texte) {
|
||||
let binaire = '';
|
||||
for (let i = 0; i < texte.length; i++) {
|
||||
let charCode = texte.charCodeAt(i).toString(2);
|
||||
charCode = '0'.repeat(8 - charCode.length) + charCode;
|
||||
binaire += charCode + ' ';
|
||||
}
|
||||
return binaire.trim();
|
||||
let binaire = "";
|
||||
|
||||
for (let i = 0; i < texte.length; i++) {
|
||||
let charCode = texte.charCodeAt(i).toString(2);
|
||||
charCode = "0".repeat(8 - charCode.length) + charCode;
|
||||
binaire += charCode + " ";
|
||||
}
|
||||
return binaire.trim();
|
||||
}
|
||||
|
||||
function binaireVersTexte(binaire) {
|
||||
let texte = '';
|
||||
const octets = binaire.split(' ');
|
||||
let texte = "";
|
||||
const octets = binaire.split(" ");
|
||||
|
||||
for (let i = 0; i < octets.length; i++) {
|
||||
const decimal = parseInt(octets[i], 2);
|
||||
const caractere = String.fromCharCode(decimal);
|
||||
texte += caractere;
|
||||
}
|
||||
|
||||
return texte;
|
||||
for (let i = 0; i < octets.length; i++) {
|
||||
const decimal = parseInt(octets[i], 2);
|
||||
const caractere = String.fromCharCode(decimal);
|
||||
texte += caractere;
|
||||
}
|
||||
return texte;
|
||||
}
|
||||
Reference in New Issue
Block a user