Add bingo

This commit is contained in:
*x1
2024-07-08 22:55:50 +02:00
parent 287122e285
commit 223a1fff36
3 changed files with 104 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
const { EmbedBuilder } = require("discord.js");
const db = require("../../fonctions/database.js");
const embedColor = require("../../fonctions/embedColor.js");
module.exports = {
aliases: [],
description: "joue au bingo",
emote: "🎱",
utilisation: "<nombre de posssiblité> <recompense> <aide tre|false>",
permission: 5,
async execute(message, args, client) {
const guild = await new Promise((resolve, reject) => {
db.get(
`SELECT * FROM config WHERE guildId = ?`,
[message.guild.id],
(err, row) => {
if (err) reject(err);
resolve(row);
},
);
});
if (guild.bingo == ! null) return message.reply(`:x: Un bingo est deja en cours dans <#${guild.bingo}>`)
else {
message.delete()
const random = Math.floor(Math.random() * args[0]);
db.run(
`UPDATE config SET nombre = ?, bingo = ?, max = ?, recompense = ?, aide = ? WHERE guildId = ?`,
[random, message.channel.id, args[0], args[1], args[2], message.guild.id],
);
const embed = new EmbedBuilder()
.setTitle("Bingo")
.setDescription(`Un bingo a été lancer, le nombre est compris entre 0 et ${args[0]}.\nLa recompense est de ${args[1]}coins`)
.setColor(await embedColor(message.author.id, message.guild.id))
.setTimestamp()
.setFooter({
text: `Demandé par ${message.author.tag}`,
iconURL: message.author.displayAvatarURL(),
});
message.channel.send({ embeds: [embed], allowedMentions: { repliedUser: false } });
message.channel.send('## Bonne chance !')
}
},
};
+55
View File
@@ -0,0 +1,55 @@
const { Events, EmbedBuilder } = require("discord.js");
const db = require("../fonctions/database.js");
const embedColor = require("../fonctions/embedColor.js");
module.exports = {
name: Events.MessageCreate,
async execute(message, client) {
if (message.channel.type === "DM") return;
if (message.author.bot) return;
const guild = await new Promise((resolve, reject) => {
db.get(
`SELECT * FROM config WHERE guildId = ?`,
[message.guild.id],
(err, row) => {
if (err) reject(err);
resolve(row);
},
);
});
if (guild.bingo == null) return
if (guild.bingo == message.channel.id) {
if (guild.nombre == message.content) {
const embed = new EmbedBuilder()
.setTitle("Bingo Terminé")
.setDescription('GG le nombre a touver était **__' + guild.nombre + '__**!!\n\nTu as recu **__' + guild.recompense + '__**coins dans ta poche !')
.setColor(await embedColor(message.author.id, message.guild.id))
.setTimestamp()
.setFooter({
text: `Gagné par ${message.author.tag}`,
iconURL: message.author.displayAvatarURL(),
})
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
db.run(`UPDATE config SET bingo = ?, nombre = ? WHERE guildId = ?`, [
null, null, message.guild.id,
]);
db.run(
`UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`,
[guild.recompense, message.guild.id, message.author.id],
);
} else {
if (isNaN(message.content)) return
if (guild.aide == 'true') {
if (Number(message.content) < Number(guild.nombre)) {
message.react('')
} else {
message.react('')
}
}
}
}
},
};
+5
View File
@@ -6,6 +6,11 @@ db.run(`CREATE TABLE IF NOT EXISTS config (
guildId TEXT,
name TEXT,
value TEXT,
bingo TEXT,
nombre TEXT,
max TEXT,
aide TEXT,
recompense TEXT,
PRIMARY KEY (guildId, name)
)`);