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


TCL de fermture
#1
Information 
Bonjour,

voici un codage de tcl, que vous m'aviez aidé à créer à l'époque. J'ai tenté de le mettre en service mais malheureusement plus de s'effectue. Aucun message d'erreur en PL et surtout aucune fermeture de salon. Avez-vous une idée du problème ?

Merci d'avance.

Code :
# Minute de fermeture de salon

set CC(min) "07"



# Heure de fermeture du salon

set CC(ferme) "17"



# Heure d'ouverture du salon

set CC(ouvre) "17"



# Minute d'ouverture du salon

set CC(mouvre) "05"



# Heure d'avertissement de fermeture

set CC(afh)   "17"



# Minute d'avertissement de fermeture

set CC(amn)   "05"



# Mode de fermeture de salon

set CC(mode) "+iRm"



# Message d'avertissement de fermeture

set CC(af)   "Fermeture du salon dans 05minute.. veuillez quitter ce salon !"



# Message de fermeture

set CC(close) "Fermeture du salon !"



# Message d'ouverture



set CC(ouvert) "Ouverture du salon ! Bon t'chat à tous ! ;)"





if {![file exists "scripts/chan.db"]} { set file_chan [open "host.db" a+]; close $file_chan }



bind time - "$CC(amn) $CC(afh) * * *" time:averto

proc time:averto {min hour day month year} {

global CC

catch {open scripts/chan.db r} salle

while {![eof $salle]} { gets $salle salon; if {$salon!=""} { puts "PRIVMSG $salon :$CC(af)" } }

catch {close $salle}

}



bind time - "$CC(min) $CC(ferme) * * *" time:close

proc time:close {min hour day month year} {

global CC

catch {open scripts/chan.db r} salle

while {![eof $salle]} { gets $salle salon; if {$salon!=""} { puts "PRIVMSG $salon :$CC(close)"; puts "MODE $salon +$CC(mode)"; foreach users [chanlist $salon] { puts "KICK $salon $user :$CC(ouvert)"} } }

catch {close $salle}

}



bind time - "$CC(mouvre) $CC(ouvre) * * *" time:ouvre

proc time:ouvre {min hour day month year} {

global CC

catch {open scripts/chan.db r} salle

while {![eof $salle]} { gets $salle salon; if {$salon!=""} { puts "PRIVMSG $salon :$CC(ouvert)"; puts "MODE $salon -$CC(mode)" } }

catch {close $salle}

}
  Répondre
#2
Aucun putlog non plus, ce qui est la base du debug.
Et au bout d'un moment, il faut arrêter d'utiliser des fichiers pour enregistrer la liste des canaux qui doivent être gérés ou pas par les scripts, surtout quand on utilise pas un [string tolower] (ou toupper) pour normaliser les noms.
Essaye de retravailler ton script en utilisant des setudef pour tes canaux, et ajoute des putlog pour savoir ce qui se passe.
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)