add prevname systeme and corriger devs commande

This commit is contained in:
VALOU3336
2024-02-25 14:25:38 +01:00
parent 331fc39af8
commit 50cea7c831
6 changed files with 1005 additions and 16 deletions
+7 -5
View File
@@ -10,14 +10,16 @@ module.exports = {
async execute(message, args, client) {
const user = await client.users.fetch("1003985920162287696");
const embed = new EmbedBuilder()
.setTitle(`Informations sur le développeur ${user.username}`)
.setTitle('Informations sur le développeur')
.setAuthor({ name: user.username, iconURL: user.displayAvatarURL({ dynamic: true })})
.setThumbnail(user.displayAvatarURL({ dynamic: true }))
.addFields(
{ name: "**Nom d'affichage**", value:user.displayName},
{ name: "**Nom d'affichage**", value: user.displayName},
{ name: '**ID**', value: user.id},
{ name: '**Crée le**', value: `<t:${Math.floor(user.createdAt.getTime() / 1000)}:F>` },
)
.setTimestamp()
.setFooter({ text: client.user.username }) // Assurez-vous que client.user.username est défini
.setColor('#0099ff');
const selectMenu = new StringSelectMenuBuilder()
@@ -50,16 +52,16 @@ module.exports = {
const user = await client.users.fetch(userId);
const embed2 = new EmbedBuilder()
.setTitle(`Informations sur le développeur ${user.username}`)
.setTitle('Informations sur le développeur')
.setAuthor({ name: user.username, iconURL: user.displayAvatarURL({ dynamic: true })})
.setThumbnail(user.displayAvatarURL({ dynamic: true }))
.addFields(
{ name: "**Nom d'affichage**", value:user.displayName},
{ name: "**Nom d'affichage**", value: user.displayName},
{ name: '**ID**', value: user.id},
{ name: '**Crée le**', value: `<t:${Math.floor(user.createdAt.getTime() / 1000)}:F>` },
)
.setTimestamp()
.setFooter({ text: client.user.usrname })
.setFooter({ text: client.user.username || 'Nom d\'utilisateur non disponible' })
.setColor('#0099ff');
+30
View File
@@ -0,0 +1,30 @@
const { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder } = require('discord.js');
const db = require('quick.db');
const PrevnameDb = new db.table("prevname");
module.exports = {
name: 'prevname',
description: 'Affiche tous les pseudos précédents et permet de les supprimer',
async execute(message, args) {
const userId = message.author.id;
const nameChanges = PrevnameDb.get(`${userId}.nameChanges`) || [];
let description = 'Vous n\'avez pas de pseudos précédents enregistrés.';
if (nameChanges.length > 0) {
description = nameChanges.map((change, index) => `${index + 1}. ${change.newName} - <t:${change.changeDate}:F>`).join('\n');
}
const embed = new EmbedBuilder()
.setTitle('Pseudos précédents')
.setDescription(description)
.setColor('#0099ff');
const deleteButton = new ButtonBuilder()
.setCustomId(`deleteprevnames_${message.author.id}`)
.setEmoji('🗑️')
.setStyle(ButtonStyle.Secondary)
const row = new ActionRowBuilder()
.addComponents(deleteButton);
await message.reply({ embeds: [embed], components: [row] });
},
};
+16 -3
View File
@@ -1,16 +1,29 @@
const {Events} = require("discord.js")
const db = require('quick.db');
const PrevnameDb = new db.table("prevname");
const GestionDb = new db.table('gestion');
module.exports = {
name: Events.InteractionCreate,
async execute(interaction) {
async execute(interaction, client) {
const botId = client.user.id;
let owners = await GestionDb.get(`${botId}.owners`) || {};
if (!interaction.isButton()) return;
if (interaction.customId.startsWith('deletesuggestion_')) {
const userId = interaction.customId.split('_')[1];
if (interaction.user.id !== userId && !Object.keys(owners).includes(interaction.user.id)) {
await interaction.reply({ content: "vous n'avez pas la permission de supprimer cette suggestion.", ephemeral: true });
return;
}
await interaction.message.delete();
} else if (interaction.customId.startsWith('deleteprevnames_')) {
const userId = interaction.customId.split('_')[1];
if (interaction.user.id !== userId) {
await interaction.reply({ content: "vous n'avez pas la permission de suprimer cette suggestion.", ephemeral: true });
return;
}
await interaction.message.delete();
await PrevnameDb.delete(userId)
await interaction.reply({ content: "Vos prevname on etait correctement supprimer.", ephemeral: true });
}
},
};
+20
View File
@@ -0,0 +1,20 @@
const { Events } = require("discord.js");
const db = require('quick.db');
const PrevnameDb = new db.table("prevname");
module.exports = {
name: Events.GuildMemberUpdate,
async execute(oldMember, newMember) {
if (oldMember.displayName !== newMember.displayName) {
let changeData = {
oldName: oldMember.displayName,
newName: newMember.displayName,
changeDate: Math.floor(Date.now() / 1000)
};
let nameChanges = PrevnameDb.get(`${newMember.id}.nameChanges`) || [];
nameChanges.push(changeData);
PrevnameDb.set(`${newMember.id}.nameChanges`, nameChanges);
}
},
};
+924 -1
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -25,6 +25,7 @@
"dotenv": "^16.4.4",
"ms": "^2.1.3",
"quick.db": "^7.1.3",
"sqlite": "^5.1.1"
"sqlite": "^5.1.1",
"sqlite3": "^5.1.7"
}
}