set topic_aide "Bienvenue sur #Aide ! Le canal d'entraide en français d'IRC. Soyez patients SVP \[ http://aide.igt.net/ \]" set topic_concil "Bienvenue sur le canal de réunion de #Aide." set topic_aidebot "Bienvenue sur le canal de test de AideBot." bind time - "00 * * * *" auto_topic proc auto_topic {a b c d e} { global topic_aide topic_aidebot topic_concil special_topic if {$special_topic == ""} { putserv "topic #aide :\[[getuser CService xtra visites]\] $topic_aide" } else { putserv "topic #aide :\[[getuser CService xtra visites]\] [lrange $special_topic 2 end]" } utimer 10 { putserv "topic #aidebot :$topic_aidebot" } utimer 20 { putserv "topic #concil :$topic_concil" } } bind dcc OJ topic retopic proc retopic {hand idx text} { global special_topic regsub -all {\"|\}|\{|\]|\[|\\|\&|\||\*|\$|\(|\)|\<|\>|\#|\/} $text "" text if {[string tolower $text] != ""} { if {$special_topic != ""} { putdcc $idx "Il y a un topic spécial en place actuellement" putserv "topic [lindex [console $idx] 0] :\[[getuser CService xtra visites]\] [lrange $special_topic 2 end]" } else { putserv "topic [lindex [console $idx] 0] :\[[getuser CService xtra visites]\] $text" putdcc $idx "Topic sur [lindex [console $idx] 0] changé pour: \[[getuser CService xtra visites]\] $text" putlog "#$hand# topic [lindex [console $idx] 0] ([getuser CService xtra visites]): $text" } } else { *dcc:topic $hand $idx "" } } if ![info exists special_topic] { set special_topic "" } bind dcc AOJ special change_special proc change_special {hand idx args} { global special_topic topic_aide if {[string length $args] > 150} { putdcc $idx "Topic trop long, désolé!" return 0 } set special [lindex $args 0] if {$special == ""} { putdcc $idx "## Syntaxe: .special <-|?|topic spécial>" return 0 } elseif {$special == "-"} { if {$special_topic != ""} { unbind topc - * change_topic } set special_topic "" putserv "topic #aide :\[[getuser CService xtra visites]\] $topic_aide" putdcc $idx "Le topic spécial est maintenant désactivé" } elseif {$special == "?"} { if {$special_topic == ""} { putdcc $idx "Il n'y a pas de topic spécial actif en ce moment ..." } else { putdcc $idx "Le topic spécial a été activé il y a [dire_delai [expr [unixtime] - [lindex $special_topic 0]]]par [lindex $special_topic 1]." } } else { bind topc - * change_topic set special_topic "[unixtime] [getuser $hand xtra vrainick] $special" putserv "topic #aide :\[[getuser CService xtra visites]\] $special" putdcc $idx "Le topic spécial est maintenant actif" } return 1 } proc change_topic {nick uhost hand chan topic} { global special_topic set chan [string tolower $chan] set special [lrange $special_topic 2 end] if {($chan == "#aide") && ([lrange $topic 1 end] != $special)} { putserv "topic #aide :$special" } }