X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2FpageMinichat%2Fcommandes.js;h=014b9bbba6d72f596b3b110328a803ab5149ccd6;hp=a0446177031947b59c313597f75f611b6cc6e5c0;hb=8ee1535f5594573931ddaebee77bf6148a5358cb;hpb=439c33ac8002ae775108b0bd4146d39e05889dd8 diff --git a/js/pageMinichat/commandes.js b/js/pageMinichat/commandes.js index a044617..014b9bb 100644 --- a/js/pageMinichat/commandes.js +++ b/js/pageMinichat/commandes.js @@ -27,15 +27,51 @@ * /nick * Modifie le pseudo courant */ -euphorik.Commandes = function(client) { +euphorik.Commandes = function(client, pageMinichat, util, formateur) { + var thisCommandes = this; + this.client = client; + this.pageMinichat = pageMinichat; + this.util = util; + this.formateur = formateur; + + // construction du texte d'aide (liste des commandes) de manière statique + this.texteAide = "

Commandes

"; }; euphorik.Commandes.statut = {ok : 0, pas_une_commande : 1, erreur_commande : 2}; euphorik.Commandes.liste = { "nick" : { - usage : + description : "Change le pseudo courant", + usage : "/nick ", + exec : function(args, client) { + + if (args.length === 0) { + return [euphorik.Commandes.statut.erreur_commande, 'Utilisation de la commande : ' + this.usage]; + } + + client.pseudo = args[0]; + $("form#posterMessage input.pseudo").val(client.pseudo); + + return [euphorik.Commandes.statut.ok, '']; + } + }, + "cpf" : { + description : "Envoie le message \"C'est pas faux\"", + usage : "/cpf", + exec : function(args, client, pageMinichat) { + pageMinichat.envoyerMessage("C'est pas faux"); + return [euphorik.Commandes.statut.ok, '']; + } + } }; /** @@ -45,7 +81,7 @@ euphorik.Commandes.liste = { euphorik.Commandes.prototype.exec = function(chaine) { chaine = chaine.trim(); - var fragments = chaine.split(/\s*/); + var fragments = chaine.split(/\s+/); if (fragments.length === 0 || fragments[0].charAt(0) != '/') { return [euphorik.Commandes.statut.pas_une_commande, '']; } @@ -56,27 +92,21 @@ euphorik.Commandes.prototype.exec = function(chaine) { if (nomCommande === "") { return [euphorik.Commandes.statut.erreur_commande, 'La commande est vide']; } - - if (euphorik.Commandes.liste.hasOwnProperty(commande) { - var commande = - return this.commandeNick(args); + // commandes spéciales pour afficher l'aide : "?", "h", "help", "aide" + if (nomCommande === "?" || nomCommande === "h" || nomCommande === "help" || nomCommande === "aide") { + this.util.messageDialogue( + this.texteAide, + euphorik.Util.messageType.informatif, + {"fermer" : function(){}}, + false, + -1 + ); + return [euphorik.Commandes.statut.ok, '']; } - switch (commande) { - case "" : - case "nick" : + if (euphorik.Commandes.liste.hasOwnProperty(nomCommande)) { + return euphorik.Commandes.liste[nomCommande].exec(args, this.client, this.pageMinichat); } - return [euphorik.Commandes.statut.erreur_commande, 'La commande \\' + commande + ' est inconnue']; -}; - -euphorik.Commandes.prototype.commandeNick = function(args) { - if (args.length === 0) { - return [euphorik.Commandes.statut.erreur_commande, 'Utilisation de la commande : "\nick "']; - } - - this.client.pseudo = args[0]; - $("form#posterMessage input.pseudo").val(this.client.pseudo); - - return [euphorik.Commandes.statut.ok, '']; + return [euphorik.Commandes.statut.erreur_commande, 'La commande /' + nomCommande + ' est inconnue']; };