03/06/2013, 22:42
(03/06/2013, 07:39)conscience a écrit :tcl
bind time - "00 08 * * *" say:time bind pub - "!time" say:time proc say:time {nick uhost handle chan args} {
Tes binds time et pub appellent la même procédure, laquelle ne reçoit pas les mêmes informations.
Il faut que tu fasses une procédure "intermédiaire" pour l'un des deux appels.
Exemple:
tcl
bind time - "00 08 * * *" say:time
bind time - "33 07 * * *" say:time
bind pub - "!time" say:pubtime
set tchan "#bla"
# ici la procédure globale
proc say:time {ho mi da mo ye} {
set ajd [clock format [clock seconds] -format "Un nouveau jour s'est levé sur Pyramide il est %H:%M et nous sommes le %A %d %B %Y" -local fr]
putserv "privmsg $::tchan :$ajd"
}
# ici la procédure appelée par !time
proc say:pubtime {nick uhost handle chan args} {
if { [string tolower $chan] != [string tolower $::tchan]} { return 0; }
# Ligne juste au dessus : on ne réagit que si c'est sur le canal où on doit afficher l'heure
say:time 0 0 0 0 0
}
putlog "\002Script date du jour chargé\002"