Après les tests qui s'avèrent positifs, j'ai un soucis au niveau de temps, car en effet j'ai mis 10h00 19h00 pour ouverture du salon. Mais il ferme le salon aussi a 15h00.
Est ce un décalage horaire ?? lol
Je vous joint le tcl qui est en place, peu être j'ai fait une erreur
Merci
n'aurais tu pas un autre code de la sorte avec la fermeture à 15 heure charger dans un TCL ? l'as tu restart ?
ensuite n'utilise pas les code couleur mirc dans un TCL regarde sur le site y des explication. :) puis met ton code joins en tcl aussi stp :x
tcl
set salonmx "#jeuxxxxx"
bind time - "00 19 * * *" ceciestuntest
proc ceciestuntest { min hour day month year }{global salonmx
foreach chan [string tolower $::salonmx]{if{$chan!= ""}{
putquick "PRIVMSG $chan : Fermeture du salon, veuillez le quitter et revenir aux heures d'ouverture Merci ( 10h00- 19h00 ) "
putquick "MODE $chan +im"}}}
bind time - "00 10 * * *" ceciestuntest2
proc ceciestuntest2 { min hour day month year }{global salonmx
foreach chan [string tolower $::salonmx]{if{$chan!= ""}{
putquick "PRIVMSG $chan : re-ouverture du salon"
putquick "MODE $chan -im"}}}
d'accord mais comment on fait je ni suis jamais arriver
C'est pour cela que j'ai joint le fichier de cette manière
Apparemment il y avait pas d'erreur sur le tcl joint ?
Bon je sais que je suis pas le premier a essayer, mais j'essaie quand même avec ma version (non testée <_<) :
tcl
# Une liste des canaux# Les {, } et \ doivent etre précédés d'un \ !!variable timedChans_chanlist {#chan1 #chan2}
# On met les binds time en place
bind time -|- {00 19***} ::timedChans_close
bind time -|- {00 10***} ::timedChans_openproc ::timedChans_close{min hour args}{
putquick "PRIVMSG [join $::timedChans_chanlist ,] :Il est 19h, le canal va fermer. Nous esperons vous revoir demain."foreach chan $::timedChans_chanlist{
pushmode $chan +im
putserv "ChanServ CLEAR $chan USERS"}
putserv "JOIN [join $::timedChans_chanlist ,]"}proc ::timedChans_open{min hour args}{
timer 5{::timeChans_announce}foreach chan $::timedChans_chanlist{
pushmode $chan -im
}}proc ::timedChans_announce{}{
putquick "PRIVMSG [join $::timedChans_chanlist ,] :Il est 10h, le canal est désormais ouvert !"}
A noter: neccessite chanserv, et peux ne pas marcher pour plus de 20 canaux
bonsoir je viens de te codé sa en 5 min j'ai pas testé mais sa doit marché du premier coup :x
protection des flag mno
annonce x temps avant fermeture du salon
auto ouverture du salon apres x temps
j'espere que sa pourra t'aidé
tcl
## les personne ayant les flag mno ne sont pas kické ##
## salon a fermer ##set AF(verif)"#test"## moment de la fermeture apres l'annonce en minute ##set AF(times)"5"## nombre de temps que le salon est fermer en minute ##set AF(timeouv)"120"
bind time - "55 19 * * *" fermeture
# Annonce de la fermeture # proc fermeture {min heure jour mois annee}{global AF
set curtime [clock seconds]set heure [clockformat$curtime -format"%H:%M:%S"]foreach salon [channels]{if{[string equal -nocase $salon$AF(verif)}{
putquick "PRIVMSG $salon : Il est $heure le salon va fermé est mettre les modes +im dans $AF(times) merci de votre compréhension....."
timer $AF(times)"ferme $salon"}}return0}
# fermeture du salon + kick des user sauf ayant flag (mno) # proc ferme {salon}{global AF
putquick "MODE $salon +im"foreach user [chanlist $salon]{if{![matchattr $hand mno]}{
putquick "KICK $salon $user : Salon Fermé"}}
timer $AF(timeouv)"ouvre $salon"return}
# réouverture du salon # proc ouvre {salon}{global AF
putquick "MODE $salon -im"return}
avec ton tcl snoopy il me met cela en pl : Tcl error [fermeture]: extra characters after close-brace
Mais ton tcl se rapproche bien de ce que je recherche avec le message 5 minutes avant la fermeture , le kick après etc.
Pour artix, au niveau du temps , il respecte pas les heures prédéfinies. même après un rehash ou restart.
03/09/2009, 18:57 (Modification du message : 03/09/2009, 19:01 par Artix.)
Bon si tous les scripts que tu as essayé jusqu'a présent donnent des problèmes concernant l'heure de déclenchement, tout ce que je vois, c'est que tu as peut etre un problème avec l'horloge interne :|
Essaie de taper en PL ceci et compare par rapport a l'heure actuelle : (assure toi d'avoir activé la commande .tcl)
Citation :.tcl clock format [clock seconds] -format "%H:%M"
03/09/2009, 18:58 (Modification du message : 03/09/2009, 19:08 par fedora.)
Citation :avec ton tcl snoopy il me met cela en pl : Tcl error [fermeture]: extra characters after close-brace
Mais ton tcl se rapproche bien de ce que je recherche avec le message 5 minutes avant la fermeture , le kick après etc.
Pour artix, au niveau du temps , il respecte pas les heures prédéfinies. même après un rehash ou restart.
Bonne journée
Cordialement
nous somme pas là pour te crée ton tcl ! Tous ce qu'ont ta mit sur les divers postes sont des exemples voir pour certain le tcl quasi complet. Âpres à toi aussi de faire ce TCL avec tous ce qu'ont ta mis tu doit pouvoir y arriver !ensuite nous pouvons comme ont la fait t'aider si ta à certaine erreur ... mais y un peut du tien :)
Salut, normal que ca ne marche pas, les arg de la proc doivent etre min hour day month year
Je pensais a ça
tcl
set chanToClose "#tonchan"set kickmin 5set fermetureshour 20
bind - "00 $fermetureshour * * *"time:warningClose
bind - "$kickmin $fermeturesclose * * *"time:closing
proctime:warningClose {min hour day month year}{global chanToClose
putserv "PRIVMSG $chanToClose :Ce channel va fermer dans 5minutes, veuillez partir ou vous serez kické"
putserv "MODE $chanToClose +im"}proctime:closing {min hour day month year}{global chanToClose
putserv "PRIVMSG $chanToClose :Kicking..."foreach toKick [chanlist chanToClose]{
putserv "KICK $chan $toKick :Fermeture automatique du chan"}}
Voila ca devrait marcher, par contre ca kick tout le monde, si tu veux icker seulement les non reg, faudrait mettre un if après le foreach ou un truc comme ça, a toi de le continuer =)
17/09/2009, 22:03 (Modification du message : 18/09/2009, 17:12 par CrazyCat.)
Bonjour, ..
Je vien de coder ceci, regarde si ca marche, je n'est pas testé :s
Pour plus de facilité à tes salons contrôle les via .db Je te rajoute ce qu'il faut :)
Bien sur dans le dossier scripts de ton eggdrop rajoute un fichier nommé chan.db et met y les salons que tu veut que l'eggdrop ferme, il doit être OP !!
tcl
# Minute de fermeture de salonset CC(min)"00"
# Heure de fermeture du salonset CC(ferme)"22"
# Heure d'ouverture du salonset CC(ouvre)"10"
# Minute d'ouverture du salonset CC(mouvre)"00"
# Heure d'avertissement de fermetureset CC(afh)"21"
# Minute d'avertissement de fermetureset CC(amn)"55"
# Mode de fermeture de salonset CC(mode)"+iRm"
# Message d'avertissement de fermetureset CC(af)"Fermeture du salon dans 05minute.. veuillez quitter ce salon !"
# Message de fermetureset CC(close)"Fermeture du salon !"
# Message d'ouvertureset 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
proctime:averto {}{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:closeproctime:close{}{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
proctime:ouvre {}{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}}
voici les erreurs rencontrées :
Tcl error [time:ouvre]: wrong # args: should be "time:ouvre"
Tcl error [time:averto]: wrong # args: should be "time:averto"
Tcl error [time:close]: wrong # args: should be "time:close"