mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-15 08:13:06 +02:00
add debut confession system and corrige commande logs
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
const {Events} = require("discord.js")
|
||||
const {Events , ModalBuilder, TextInputStyle, ActionRowBuilder, TextInputBuilder , EmbedBuilder} = require("discord.js")
|
||||
const db = require('quick.db');
|
||||
const PrevnameDb = new db.table("prevname");
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
@@ -7,6 +7,15 @@ module.exports = {
|
||||
name: Events.InteractionCreate,
|
||||
async execute(interaction, client) {
|
||||
const botId = client.user.id;
|
||||
let data = await new Promise((resolve, reject) => {
|
||||
db2.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row ? JSON.parse(row.value).owners || {} : {});
|
||||
});
|
||||
});
|
||||
let owners = await new Promise((resolve, reject) => {
|
||||
db2.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
if (err) {
|
||||
@@ -37,6 +46,73 @@ module.exports = {
|
||||
|
||||
await PrevnameDb.delete(userId)
|
||||
await interaction.reply({ content: "Vos prevname on etait correctement supprimer.", ephemeral: true });
|
||||
} else if (interaction.customId.startsWith('addconfession_')) {
|
||||
let data = await new Promise((resolve, reject) => {
|
||||
db2.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row ? JSON.parse(row.value).owners || {} : {});
|
||||
});
|
||||
});
|
||||
const guildId= interaction.customId.split('_')[1];
|
||||
const userId = interaction.user.id;
|
||||
let Modal = new ModalBuilder()
|
||||
.setCustomId('confession')
|
||||
.setTitle(`${client.user.username} - Confession`);
|
||||
|
||||
let question1 = new TextInputBuilder()
|
||||
.setCustomId('messageconfession')
|
||||
.setLabel("Quel est votre confession")
|
||||
.setRequired(true)
|
||||
.setPlaceholder('Indiquez la description ici')
|
||||
.setStyle(TextInputStyle.Paragraph);
|
||||
|
||||
let question2 = new TextInputBuilder()
|
||||
.setCustomId('status')
|
||||
.setLabel("Vous voulez reste anonyme")
|
||||
.setRequired(true)
|
||||
.setPlaceholder('Indiquez par oui ou non')
|
||||
.setStyle(TextInputStyle.Short);
|
||||
|
||||
let actionRow1 = new ActionRowBuilder().addComponents(question1);
|
||||
let actionRow2 = new ActionRowBuilder().addComponents(question2);
|
||||
|
||||
Modal.addComponents(actionRow1, actionRow2);
|
||||
|
||||
await interaction.showModal(Modal);
|
||||
let reponse = await interaction.awaitModalSubmit({time: 300000})
|
||||
let ConfessionMessageToSend = reponse.fields.getTextInputValue('messageconfession')
|
||||
let ConfidentielAuthor = reponse.fields.getTextInputValue('status')
|
||||
let isConfidential = !ConfidentielAuthor.toLowerCase().startsWith('n');
|
||||
data.guildId = data.guildId || {};
|
||||
data.guildId.confession = data.guildId.confession || {};
|
||||
|
||||
console.log(guildId);
|
||||
console.log(data.guildId.confession.channel);
|
||||
const channelId = data.confession.channel[guildId];
|
||||
|
||||
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('**Nouvelle Confession**')
|
||||
.setDescription(ConfessionMessageToSend)
|
||||
.setFooter({text: `${client.user.username} - ${interaction.guild.name}`})
|
||||
.setColor('#0099ff');
|
||||
if (!isConfidential) {
|
||||
embed.setAuthor({ name: interaction.user.username, iconURL: interaction.user.displayAvatarURL() })
|
||||
} else {
|
||||
embed.setAuthor({ name: 'Confidentiel' });
|
||||
}
|
||||
|
||||
if (channelId) {
|
||||
const channel = interaction.guild.channels.cache.get(channelId);
|
||||
console.log(channelId);
|
||||
channel.send({ embeds: [embed] });
|
||||
} else {
|
||||
console.error(`Le salon avec l'ID ${channelId} n'a pas été trouvé.`);
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user