Communauté Eggdrop
Problème d'arguments - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Problème d'arguments (/showthread.php?tid=138)



Problème d'arguments - Garfield - 03/02/2008

Bonjour,

J'ai un petit problème (qui est surement idiot), mais la question la plus idiote étant celle que l'on ne pose pas, je me lance Smile

J'essai d'apprendre à manipuler SQL via un eggdrop, j'ai donc le code pour enregistrer les users (/msg botnick register <pseudo> <passe> <description>) qui marche en enregistrant le pseudo, le passe, une description et le pseudo IRC utilisé par la personne au moment de l'enregistrement.
Je voudrais qu'a l'identification (/msg botnick login <pseudo> <passe>), le pseudo actuel de la personne se mette à jour dans la table, pour ce la j'ai une procédure authentification :

Code :
proc auth {nick arg} {
    service:connect
    
    mysqlsel $::mysqlink "UPDATE `gamers` SET `statut` = 'On', `irc_nick` = '$nick' WHERE pseudo = '$arg'"
    
    service:deconnect
}

Mon problème c'est que le bot me répond : Tcl error [msg:login]: wrong # args: should be "auth nick arg".

Je ne sais pas si il existe une règle pour le choix des arguments :/ si j'enleve l'un des deux (nick ou arg), de façon trés ligique le bot me retourne un "variable inconnue".

Pourriez-vous m'aider SVP, Merci et bonne journée Smile


RE: Problème d'arguments - CrazyCat - 04/02/2008

Le problème vient simplement de la définition de ta procédure.
Si je comprend bien, elle réagit à un bind msg.
Les arguments obligatoires sont donc nick, uhost, handle, args.
tcl
proc auth {nick uhost handle args} {
   service::connect
   mysqlsel $::mysqlink "UPDATE `gamers` SET `statut` = 'On', `irc_nick` = '$nick' WHERE pseudo = '$arg'"
   service::deconnect
}


Et je pense qu'il existe déjà une procédure AUTH dans eggdrop, je te conseille de nommer la tienne autrement (C'est surement l'erreur principale d'ailleurs)


RE: Problème d'arguments - Garfield - 04/02/2008

Ha oki donc les arguments des bind msg sont prédéfinies je ne savais pas. Je vais aussi renommé ma procédure !
Merci pour ta réponse Very Happy


RE: Problème d'arguments - CrazyCat - 04/02/2008

Toutes les procédures dépendantes des BINDS ont leur structure prédéfinie.
Il existe quelques petites variantes d'une version à une autre d'Eggdrop mais elles sont signalées et souvent compatibles avec les versions précédentes.