# Info # edited by : Pagat - #seberang@allnetwork # Version: 1.2 set spy(author) "Pagat - #seberang" set spy(version) "1.2" # Description # This script will relay anything said on one channel to the other channel you configure # I recommend you don't run this script on a bot that already has to do alot # If the channel you're spying on has alot of users with alot of talking your bot could excess flood # Configuration # The channel it reports everything to set spy(home) "#seberang" # The channel it gets all the data from and then reports it to the homechannel set spy(chan) "#samarinda" bind PUBM -|- * spychan:chat bind CTCP -|- "ACTION" spychan:action bind SIGN -|- "$spy(chan) *" spychan:sign bind JOIN -|- "$spy(chan) *" spychan:join bind PART -|- "$spy(chan) *" spychan:part bind SPLT -|- "$spy(chan) *" spychan:split bind KICK -|- "$spy(chan) *" spychan:kick bind RAW * "MODE" spychan:mode proc spychan:part { nickname hostname handle channel reason } { global spy if {[string equal -nocase $channel $spy(chan)]} { putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname ($hostname) has left $spy(chan)" } } proc spychan:join { nickname hostname handle channel } { global spy if {[string equal -nocase $channel $spy(chan)]} { putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname ($hostname) has joined $spy(chan)" } } proc spychan:kick { nickname hostname handle channel target reason } { global spy if {[string equal -nocase $channel $spy(chan)]} { putserv "PRIVMSG $spy(home) :\[$channel\] * $target was kicked from $spy(chan) by $nickname ($reason)" } } proc spychan:mode { from key arguments } { global spy set channel [string trim [lindex [split $arguments] 0]] set modechange [string trim [lindex [split $arguments] 1]] set victims [string trim [join [lrange [split $arguments] 2 end]]] set nickname [string trim [lindex [split $from "!"] 0]] set hostname [string trim [lindex [split $from "!"] 1]] if {[string equal -nocase $channel $spy(chan)]} { putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname sets mode: $modechange $victims" } } proc spychan:sign { nickname hostname handle channel reason } { global spy if {[string equal -nocase $channel $spy(chan)]} { putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname ($hostname) has quit IRC ($reason)" } } proc spychan:split { nickname hostname handle channel arguments } { global spy if {[string equal -nocase $channel $spy(chan)]} { putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname has split from the network" } } proc spychan:chat { nickname hostname handle channel arguments } { global spy if {[string equal -nocase $channel $spy(chan)]} { putserv "PRIVMSG $spy(home) :\[$channel\] <$nickname> $arguments" } } proc spychan:action { nickname hostname handle channel keyword arguments } { global spy if {[string equal -nocase $channel $spy(chan)]} { putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname $arguments" } } putlog "Spychan.tcl version $spy(version) by $spy(author) Loaded!"