En galère avec un codage de script de dédi
#1
Bonjour,

Je me suis lancé dans la confection d'un tcl pour faire des dédicaces mais hélas je tombe sur un os...
tcl
######################################################################
##																	##
##																	##
##  	-Système de dédicace pour webradio "Minut'Radio"            ##
## 			Partenaire de Secretchat.fr - Version 1.0				##
##																	##
##																	##
######################################################################
 
 
 
set chans "#staff"
set chansource "#control"
set chanradio "#Radio"
 
 
bind pub - "!addedi" add:edi
bind pub - "!deledi" del:msg
bind pub - "!edi" msg:edi
 
 
proc add:edi {n ht hd ch a} {
set edi [lrange $a 0 end]
	if {$ch == $::chanradio} {
		if {$edi == ""} {putserv "notice $n :Syntaxe => !addedi < message >"; return}
		if {![file exists "scripts/dedi.dab"]} {set files [open "scripts/dedi.dab" a+]; close $files}
		# enregistrement de la dedi #
		set num [expr {int(rand() * 37)}]
		set files [open "scripts/dedi.dab" a+]
		puts $files "$num $n $edi"
		close $files
		putserv "notice $n :Dedi enregistré et validé"
	} else {
		putserv "notice $n :Erreur Salon"
	} 
}
 
proc del:msg {n ht hd ch a} {
set num [lindex $a 0]
set stop 0
if {$ch == $::chans} {
	if {$num == ""} {putserv "notice $n :Syntaxe => !deledi < numéro >"; return}
	if {![file exists "scripts/dedi.dab"]} {putserv "notice $n :Aucune dedi actuellement"}
	# suppression de la dedi #
	catch {open "scripts/dedi.dab" r} liste
	while {![eof $liste]} { gets $liste verif; if {![string compare -nocase $num [lindex $verif 0]]} { set stop 1 }; if {[string compare -nocase $num [lindex $verif 0]] && $verif!=""} { lappend salle "$verif" } }
	catch {close $liste}
	if {$stop == 0} {putserv "notice $n :Numéro Inconnu"; return}
	if {[info exists salle]} {
		set del [open "scripts/dedi.dab" w+]; foreach delchan $salle { puts $del "$delchan"}; close $del
	} else { set del [open "scripts/dedi.dab" w+]; close $del }
	putserv "notice $n :La dedi vient d'être supprimer"
} else {
	putserv "notice $n :Erreur Salon"
} }
 
proc msg:edi {n ht hd ch a} {
set stop 0
if {$ch == $::chans} {
	putserv "notice $n :13~6~13~6~12 Liste des dedi 13~6~13~6~"
	putserv "notice $n : "
	if {![file exists "scripts/dedi.dab"]} {putserv "notice $n :12Aucune dedi actuellement"}
	
	# securité anti beug #
	catch {open "scripts/dedi.dab" r} secu
	while {![eof $secu]} {gets $secu xs; if {[lindex $xs 0] != ""} {
		lappend verif "[llength $xs]"
	} }; catch {close $secu}
	# Calcul nombre de ligne #
	if {[info exists verif]} {
		if {[llength $verif] > "15"} {set stop 2; putserv "notice $n :4/!\\ Alerte Surcharge /!\\ 14Merci de supprimer des dedi"}
		if {[llength $verif] > "20"} {set stop 2; putserv "notice $n :4/!\\ Alerte Surcharge Excessif /!\\ 14Supprimer des dedi Impérativement 4/!\\ Alerte Surcharge Excessif /!\\"}
		if {[llength $verif] == "25"} {set stop 5; putserv "notice $n :4/!\\ Alerte Suppression de toutes les  dedi /!\\ 14Trop de dedi on été enregistrer : $verif 4/!\\ Alerte Suppression de toutes les dedi /!\\"}
	}
	# Fin control anti beug #
	if {$stop == 5} {exec rm -rf "scripts/dedi.dab"}
	if {$stop == 2} {
		catch {open "scripts/dedi.dab" r} files
		while {![eof $files]} {gets $files x; if {[lindex $x 0] != ""} {
			putserv "privmsg $n :6\[\4 [lindex $x 0] 6\]\ 10Mis par :7 [lindex $x 1] 1-12 [lrange $x 2 end]"; set stop 1
		} }; catch {close $files}
	}
	if {$stop == 0} {
		catch {open "scripts/dedi.dab" r} files
		while {![eof $files]} {gets $files x; if {[lindex $x 0] != ""} {
			putserv "notice $n :6\[\4 [lindex $x 0] 6\]\ 10Mis par :7 [lindex $x 1] 1-12 [lrange $x 2 end]"; set stop 1
		} } ; catch {close $files}
	}
	if {$stop == 0} {putserv "notice $n :12Aucune dedi actuellement"}
	putserv "notice $n : "
	putserv "notice $n :13~6~13~6~12 Fin de la liste des dedi 13~6~13~6~"
} else {
	putserv "notice $n :Erreur Salon"
} }



La commande !edi et !deledi fonctionne mais en revanche pour la commande !addedi je me trouve avec une erreur salon sur les 3 salons en question...


Merci d'avance de votre aide.
Répondre Avertir


Messages dans ce sujet
En galère avec un codage de script de dédi - par KeeViiNou - 14/03/2014, 10:54

Atteindre :


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