Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


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,
#2
Où est le bind ?

Que contient la procédure procfile ?

Tape .binds *ref* en partyline et montre-nous le résultat.
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#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
    }

#4
Bonsoir,
J'ai résolu mon souci grâce à aliasangelius !
Merci de votre aide au passage.
Cordialement,
#5
Tu peux expliquer la solution ou la source du problème ?
Zeolia - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#6
Je ne peux ni l'un, ni l'autre faut demander à aliasangelius.


Possibly Related Threads…
Thread Author Replies Views Last Post
  Proc incrementation des scores trivia fonctionnel Epsilon 0 2,650 30/03/2017, 20:08
Last Post: Epsilon
  Probleme namespace, variable, proc ZarTek 3 4,454 03/08/2013, 21:10
Last Post: CrazyCat
  Soucis dans une proc Asylum 8 6,489 16/02/2013, 22:39
Last Post: Asylum
  problem de proc yannick22 2 3,759 06/11/2010, 05:32
Last Post: yannick22

Forum Jump:


Users browsing this thread: 1 Guest(s)