Communauté sur les Eggdrops - Community about Eggdrops
Soucis proc - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (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)
+--- Thread: Soucis proc (/showthread.php?tid=919)



Soucis proc - Ixion - 25/03/2011

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,


RE: Soucis proc - MenzAgitat - 25/03/2011

Où est le bind ?

Que contient la procédure procfile ?

Tape .binds *ref* en partyline et montre-nous le résultat.


RE: Soucis proc - Ixion - 25/03/2011

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
    }




RE: Soucis proc - Ixion - 26/03/2011

Bonsoir,
J'ai résolu mon souci grâce à aliasangelius !
Merci de votre aide au passage.
Cordialement,


RE: Soucis proc - CrazyCat - 26/03/2011

Tu peux expliquer la solution ou la source du problème ?


RE: Soucis proc - Ixion - 26/03/2011

Je ne peux ni l'un, ni l'autre faut demander à aliasangelius.