Problème d'arguments
#1
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
Répondre Avertir
#2
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)
Répondre
#3
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
Répondre Avertir
#4
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.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté