Communauté francophone sur les Eggdrops
TCL de fermture - Printable Version

+- Communauté francophone sur les 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: TCL de fermture (/showthread.php?tid=1772)



TCL de fermture - KeeViiNou - 06/06/2020

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}

}



RE: TCL de fermture - CrazyCat - 07/06/2020

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.