rendered paste bodynamespace 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
}