namespace eval ::relay { proc start {} { setudef flag relay ##set nicks that shouldnt be relayed here, seperated by spaces. ex: bots/annoying people/etc... variable blacklist "Cody MouserBot" bind pubm - * ::relay::receive bind bot - !relay ::relay::send bind ctcp - ACTION ::relay::raction bind join - * ::relay::join bind part - * ::relay::part putlog "successfully loaded p4l-relay.tcl!" } proc receive {nick host hand chan arg} { if {![channel get $chan relay]} {return} variable ::relay::blacklist variable ::network variable blacklisted 0 foreach bl [split $::relay::blacklist] { if {$nick == $bl} { variable blacklisted 1 } } if {!$blacklisted} { rtobot "$nick@$network: $arg" } } proc raction {nick uhost hand chan keyword arg} { if {![channel get $chan relay]} {return} variable ::relay::blacklist variable ::network variable blacklisted 0 foreach bl [split $::relay::blacklist] { if {$nick == $bl} { variable blacklisted 1 } } if {!$blacklisted} { rtobot "$nick@$network: $arg" } } proc join {nick uhost hand chan} { if {![channel get $chan relay]} {return} variable ::network rtobot "$nick has joined $chan on $network" } proc part {nick uhost hand chan arg} { if {![channel get $chan relay]} {return} variable ::network rtobot "$nick has parted $chan on $network" } proc rtobot {text} { foreach bot [userlist &&9] { putbot $bot "!relay $text" } } proc send {bot cmd arg} { putachan relay $arg } proc putachan {flag text} { if {$flag == "" || $text == ""} { return } foreach chan [channels] { if {[channel get $chan $flag]} { putquick "privmsg $chan :$text" } } } start }