mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-17 08:07:38 +02:00
Add bingo
This commit is contained in:
@@ -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 !')
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -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('➖')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -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)
|
||||
)`);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user