Communauté Eggdrop

Version complète : Soucis proc
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
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,
Où est le bind ?

Que contient la procédure procfile ?

Tape .binds *ref* en partyline et montre-nous le résultat.
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
    }


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