ajout de la fonctionnalité roll
This commit is contained in:
parent
c07ce75832
commit
0ab0bcac22
49
commands/roll.js
Normal file
49
commands/roll.js
Normal file
@ -0,0 +1,49 @@
|
||||
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||
|
||||
module.exports = {
|
||||
data: new SlashCommandBuilder()
|
||||
.setName('roll')
|
||||
.setDescription('Roll the dice, seal your fate.')
|
||||
.addStringOption(option =>
|
||||
option.setName('dice')
|
||||
.setDescription('*ex: /roll 1d6 - max 100 faces - max 15 dés')
|
||||
.setRequired(true)
|
||||
),
|
||||
async execute(interaction) {
|
||||
const option = interaction.options.get('dice');
|
||||
const regex = /^([0-9]){1,}([dD])([0-9]{1,})$/;
|
||||
if(!option.value.match(regex)){
|
||||
await interaction.reply({content: 'Veuillez entrer le bon format - *ex: 1d6*', ephemeral: true});
|
||||
return;
|
||||
}
|
||||
|
||||
const args = option.value.split(/[dD]/);
|
||||
const num = parseInt(args[0]);
|
||||
const dice = parseInt(args[1]);
|
||||
|
||||
if(num < 1 || num > 15){
|
||||
await interaction.reply({content: 'Veuillez entrer un nombre de dé compris entre 1 et 15 - *ex: 1d6*', ephemeral: true});
|
||||
return;
|
||||
}
|
||||
|
||||
if(dice < 1 || dice > 100){
|
||||
await interaction.reply({content: 'Veuillez entrer un nombre de dé compris entre 1 et 15 - *ex: 1d6*', ephemeral: true});
|
||||
return;
|
||||
}
|
||||
|
||||
var reply = num + " dés de " + dice + " faces lancés :\t";
|
||||
var total = 0;
|
||||
var dices = ""
|
||||
|
||||
for(var i = 0; i < num; i++){
|
||||
var roll = 1 + Math.floor(Math.random() * (dice));
|
||||
total += roll;
|
||||
dices += " 🎲 **" + roll + "** ";
|
||||
}
|
||||
|
||||
reply += "*total de* **" + total + "**\n" + dices;
|
||||
|
||||
await interaction.reply(reply);
|
||||
},
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user