Soucis proc
#1
Bonsoir,
Voila je me permets de posté suite à un problème que je rencontre.
En faite mon problème et que lorsque je tape la commande .+ref test
Il n'effectue aucun enregistrement de le ref.db et de plus je ne reçois aucune notice de l'eggdrop.
Et en partyline, je ne reçois aucune erreur.

Je vous montre la procédure qui me semble avoir un soucis :

TCL
bind pub o "$::ref::cmds(choix)+ref" [namespace current]::+refs
 
proc +refs {nick uhost hand chan arg} {
  	     set verifexempt "[split [lindex $arg 0] |]"
  set nickverife "[lindex $verifexempt 0]"
  if {[lindex $arg 0]!=""} {
    if {[procfile ref icr $nickverife]!="0"} {
      puthelp "notice $nick :Attention le Nick: \2$nickverife\2 n'est pas dans la liste des refs."
      return 0
    }
    procfile ref add $nickverife
    puthelp "notice $nick :Le Nick: \2$nickverife\2 a bien été ajouté de la liste des refs."
    return 0
    } else {
    puthelp "privmsg $chan :Il faut une victime"
    return
  }
}



Cordialement,
Répondre Avertir
#2
Où est le bind ?

Que contient la procédure procfile ?

Tape .binds *ref* en partyline et montre-nous le résultat.
Répondre Avertir
#3
Le bind je l'ai ajouter dans l'edition, je te joins à ce message le procfile

TCL
proc procfile {file action arg} {
    set arg [mbfilter $arg]
	set return 0
	set dbr [open database/$file.db r+]
	set dbw [open database/$file.tmp w+]
	while {![eof $dbr]} {
		set r [gets $dbr]
		if {$r!=""} {puts $dbw $r}
	}
	close $dbr
	close $dbw
	set dbr [open database/$file.tmp r+]
	set dbw [open database/$file.db w+]
	while {![eof $dbr]} {
		set r [gets $dbr]
		if {$action=="add"} {
			if {$r!=""} {
				puts $dbw $r
			} else {
				puts $dbw $arg
			}
			set return 1
		}
		if {$action=="del"} {
			if {$r!=""} {
				if {![string match -nocase $arg [lindex $r 0]] && ![string match -nocase $arg [lindex $r 1]]} {
					puts $dbw $r
				} else {
					set return 1
				}
			}
		}
		if {$action=="chk"} {
			if {$r!=""} {
				puts $dbw $r
				if [string match -nocase [lindex $arg 0] [lindex $r 1]] {
					set return [lindex $r 0]
					if ![string match -nocase [lindex $arg 1] [lindex $r 2]] {set return 2}
					if ![string match [lindex $arg 2] [lindex $r 3]] {set return 3}
				}
			}
		}
		if {$action=="icr"} {
			if {$r!=""} {
				puts $dbw $r
				if [string match -nocase $arg [lindex $r 0]] {
					set return 1
				}
			}
		}
		if {$action=="cf"} {
			if {$r!=""} {
				puts $dbw $r
				if [string match -nocase [lindex $r 0] $arg] {
					set return 1
				}
			}
		}
		if {$action=="ibr"} {
			if {$r!=""} {
				puts $dbw $r
				if [string match -nocase $arg [lindex $r 1]] {
					set return 1
				}
			}
		}
 
	}
	close $dbr
	close $dbw
	return $return
    }


Répondre Avertir
#4
Bonsoir,
J'ai résolu mon souci grâce à aliasangelius !
Merci de votre aide au passage.
Cordialement,
Répondre Avertir
#5
Tu peux expliquer la solution ou la source du problème ?
Répondre
#6
Je ne peux ni l'un, ni l'autre faut demander à aliasangelius.
Répondre Avertir


Atteindre :


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