Jeu de revolution

bonjour j’ai crée une commande avec plusieurs trigger pour des fonction propre, 2 des 3 trigger n’ont pas d’argument mais la troisième peut en avoir une ,ce que je n’arrive pas a faire c’est que le trigger du troisième qui lance la révolution fonctionne voici le code.
// — Configuration —
const REVOLUTION_COOLDOWN = 2; // 1 heure (15 minutes)3600000
const REVOLUTION_PREPARE_TIME = 9; // 90 secondes (60 secondes)90000
const BET_AMOUNT = 40; // Montant de mise (BetAmount)40
const REVOLUTION_CHANCE = 100; // Pourcentage de réussite de la révolution(Pourcentage de réussite de la révolution)
let totalBetAmount = 0;
// Récupération de variables temporaires
let revoparticipants = JS.wizebot.get_var(“revoparticipants”) || {};
let revolutionInProgress = JS.wizebot.get_var(“revolutionInProgress”) || false;
let revolutionPreparation = JS.wizebot.get_var(“revolutionPreparation”) || false;
let revolutionStarted = JS.wizebot.get_var(“revolutionStarted”) || false;
let lastRevolutionTime = JS.wizebot.get_var(“lastRevolutionTime”) || 0;
let preparationStartTime = JS.wizebot.get_var(“preparationStartTime”) || 0;

function startRevolutionPreparation() {
let currentTime = new Date().getTime();
if (revolutionPreparation) {
JS.wizebot.send_chat_message(“Une préparation est déjà en cours !”);
return;
}
if (currentTime - lastRevolutionTime < REVOLUTION_COOLDOWN) {
JS.wizebot.send_chat_message(“Vous devez attendre avant de préparer une autre révolution !”);
return;
}
preparationStartTime = currentTime;
revolutionPreparation = true;
JS.wizebot.send_chat_message(“La révolution commence ! Utilisez !revolution pour participer !”);
// Enregistrement dans des variables temporaires
JS.wizebot.set_var(“revolutionPreparation”, true);
JS.wizebot.set_var(“preparationStartTime”, preparationStartTime);
JS.wizebot.set_var(“revoparticipants”, {});
}

function joinRevolution() {
let display_name = JS.wizebot.command.display_name();
let username = JS.wizebot.command.user_name();

if (username in revoparticipants) {
    JS.wizebot.send_chat_message(`${display_name}, vous participez déjà.`);
    return;
}

/*let userBalance = JS.wizebot.currency.get(username);
if (userBalance < BET_AMOUNT) {
    JS.wizebot.send_chat_message(`${display_name}, vous n'avez pas suffisamment de karims pour participer à la révolution.`);
    return;
}*/

//JS.wizebot.currency.remove(username, BET_AMOUNT);
revoparticipants[username] = true;
totalBetAmount += BET_AMOUNT; // Ajoutez la mise au total
JS.wizebot.send_chat_message(`${display_name} rejoint la révolution !`);

// Enregistrement des participants
JS.wizebot.set_var("revoparticipants", revoparticipants);

let participantsMessage = "Participants après ajout :";
for (let username in revoparticipants) {
    participantsMessage += ` ${username},`;
}
JS.wizebot.send_chat_message(participantsMessage);

}

function startRevolution(roi) {
let currentTime = new Date().getTime();
if (currentTime - preparationStartTime < REVOLUTION_PREPARE_TIME) {
JS.wizebot.send_chat_message(La révolution n'est pas encore prête. Veuillez patienter un peu plus longtemps.);
return;
}

if (revolutionStarted || !revolutionPreparation) {
    JS.wizebot.send_chat_message("La révolution a déjà commencé ou n'a pas été préparée !");
    return;
}

revolutionInProgress = true;
revolutionStarted = true;

JS.wizebot.send_chat_message("Les révolutionnaires brandissent leurs baguettes de pain en signe de protestation !");
JS.utils.sleep(3000);
JS.wizebot.send_chat_message("Les tambours de la révolution résonnent dans les rues de Karium !");
JS.utils.sleep(4000);
JS.wizebot.send_chat_message("Les révolutionnaires sont au porte du chateau");
JS.utils.sleep(2000);
JS.wizebot.send_chat_message("QUE JUSTICE SOIT RENDUE !");
// Logique pour déterminer si la révolution a réussi, en fonction de REVOLUTION_CHANCE
let success = Math.random() * 100 <= REVOLUTION_CHANCE;
    if (success) {
        if (roi) {
        roi= roi.replace("@", "");
        JS.wizebot.currency.remove(roi, totalBetAmount);
        JS.wizebot.send_chat_message(`Révolution réussie ! Les révolutionnaires ont détrôné le roi ${roi} !`);
        }else {
        JS.wizebot.send_chat_message(`Révolution réussie ! Les révolutionnaires ont détrôné le roi ! @filgalade il y a eu une mise de ${totalBetAmount}`);
        }
    } else {
        JS.wizebot.send_chat_message("Les soldats matent la révolution ! Tout le monde fait un tour au donjon...");
    }

// Réinitialisation des variables temporaires
JS.wizebot.set_var("revoparticipants", {});
JS.wizebot.set_var("revolutionInProgress", false);
JS.wizebot.set_var("revolutionPreparation", false);
JS.wizebot.set_var("revolutionStarted", false);
JS.wizebot.set_var("lastRevolutionTime", currentTime);
}

let triggerAlias = JS.wizebot.command.trigger_alias();

if (triggerAlias === ‘!tstartrevolution’) {
startRevolutionPreparation();
} else if (triggerAlias === ‘!trevolution’) {
joinRevolution();
} else if (triggerAlias === ‘!tvivalarevolution’) {
let triggerArgs = JS.wizebot.command.args();
if (triggerArgs.length > 0) {
let roi= triggerArgs[0];
startRevolution(roi);
} else {
startRevolution();
}
}

Bonjour,
Quel est le nom de la chaîne ? :slight_smile:

le noms de la chaine est FILGALADE et la commande c’est !testrevolution

Bonjour,
Le problème vient de la récupération des arguments, vous devez spécifier ce que vous voulez récupérer :

let triggerArgs = JS.wizebot.command.args(1);
if (triggerArgs !== false) {
    // L'argument est le nom d'utilisateur qui est le roi
   startRevolution(triggerArgs);

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.