this script does exactly what the title says, it mirrors a channel.
perfect for helping someone evade a ban =P
this goes in your remotes (alt+r) (if i were you i would make a new script file just in case ;)(File>New in the script editor))
that should be it, everything else can be controled at whatever you set %spy to ;)
some commands for the channel that is the the 'spy':
!color <0-15> - sets the color that the text is displayed in. (just use !color to use plain text)
!colors - gives some information about the !color command
!switch - switches the channel to spyon and the spy channel.
dont know if this would be useful to anybody, but here it is :)
;Simple Mirror script by Austin
;You can find me on EFnet on #usbgecko
on *:load:set %spyon #$$?="Type the channel name to spy on" | join %spyon | set %spy #$$?="Type the channel name to relay stuff from %spyon to" | join %spy
on *:kick:%spyon:msg %spy %color $+ * $knick was kicked by $nick ( $+ $1- $+ )
on *:join:%spyon:msg %spy %color $+ * $nick ( $+ $address $+ ) has joined $chan
on *:text:*:#: {
if ($chan == %spyon) { msg %spy %color $+ < $+ $nick($chan,$nick).pnick $+ > $1- | halt }
if ($chan == %spy) && ($1 == !color) { set %color $+ $2 | msg %spy %color $+ ok, colors set. }
if ($chan == %spy) && ($1 == !colors) { msg %spy %color $+ type the number you want to set the color using !color <0-15> colors: 0zero 1one 2two 3three 4four 5five 6six 7seven 8eight 9nine 10ten 11eleven 12twelve 13thirteen 14fourteen 15fifteen | msg %spy %color $+ or just say '!color' to use normal text color ;) }
if ($chan == %spy) && ($1 == !switch) { msg $spy %color $+ switching spy and spyon channels.... | part %spy | part %spyon | set %spy $2 | set %spyon $3 | join %spy | join %spyon }
}
on *:action:*:%spyon:msg %spy %color $+ * $nick($chan,$nick).pnick $1- | halt
on *:RAWMODE:%spyon:msg %spy %color $+ * $nick sets mode: $1-
on *:quit: {
if ($nick ison %spyon) && ($1 != $null) { msg %spy %color $+ * $nick ( $+ $address $+ ) Quit ( $+ $1- $+ ) }
elseif ($nick ison %spyon) { msg %spy %color $+ * $nick ( $+ $address $+ ) Quit }
}
on *:NICK: {
if ($newnick ison %spyon) { msg %spy %color $+ * $nick is now known as $newnick }
}
on *:part:#: {
if ($chan == %spyon) && ($1 != $null) { msg %spy %color $+ * $nick($chan,$nick).pnick ( $+ $address $+ ) has left $chan ( $+ $1- $+ ) }
elseif ($chan == %spyon) { msg %spy %color $+ * $nick($chan,$nick).pnick ( $+ $address $+ ) has left $chan }
}
on *:TOPIC:%spyon:msg %spy %color $+ * $nick changes topic to ' $+ $1- $+ '
on 1:input:#: {
if ($1 == /me) && ($chan == %spyon) { msg %spy %color $+ * $nick($chan,$nick).pnick $2- }
elseif ($chan == %spyon) { msg %spy %color $+ < $+ $nick($chan,$nick).pnick $+ > $1- }
}
theres a little bit thats not working its =
;Simple Mirror script by Austin
;You can find me on EFnet on #usbgecko
on *:load:set %spyon #$$?="Type the channel name to spy on" | join %spyon | set %spy #$$?="Type the channel name to relay stuff from %spyon to" | join %spy
on *:kick:%spyon:msg %spy %color $+ * $knick was kicked by $nick ( $+ $1- $+ )
on *:join:%spyon:msg %spy %color $+ * $nick ( $+ $address $+ ) has joined $chan
on *:text:*:#: {
if ($chan == %spyon) { msg %spy %color $+ < $+ $nick($chan,$nick).pnick $+ > $1- | halt }
if ($chan == %spy) && ($1 == !color) { set %color $+ $2 | msg %spy %color $+ ok, colors set. }
if ($chan == %spy) && ($1 == !colors) { msg %spy %color $+ type the number you want to set the color using !color <0-15> colors: 0zero 1one 2two 3three 4four 5five 6six 7seven 8eight 9nine 10ten 11eleven 12twelve 13thirteen 14fourteen 15fifteen | msg %spy %color $+ or just say '!color' to use normal text color ;) }
if ($chan == %spy) && ($1 == !switch) { msg $spy %color $+ switching spy and spyon channels.... | part %spy | part %spyon | set %spy $2 | set %spyon $3 | join %spy | join %spyon }
}
on *:action:*:%spyon:msg %spy %color $+ * $nick($chan,$nick).pnick $1- | halt
on *:RAWMODE:%spyon:msg %spy %color $+ * $nick sets mode: $1-
on *:quit: {
if ($nick ison %spyon) && ($1 != $null) { msg %spy %color $+ * $nick ( $+ $address $+ ) Quit ( $+ $1- $+ ) }
elseif ($nick ison %spyon) { msg %spy %color $+ * $nick ( $+ $address $+ ) Quit }
}
on *:NICK: {
if ($newnick ison %spyon) { msg %spy %color $+ * $nick is now known as $newnick }
}
on *:part:#: {
if ($chan == %spyon) && ($1 != $null) { msg %spy %color $+ * $nick($chan,$nick).pnick ( $+ $address $+ ) has left $chan ( $+ $1- $+ ) }
elseif ($chan == %spyon) { msg %spy %color $+ * $nick($chan,$nick).pnick ( $+ $address $+ ) has left $chan }
}
on *:TOPIC:%spyon:msg %spy %color $+ * $nick changes topic to ' $+ $1- $+ '
on 1:input:#: {
if ($1 == /me) && ($chan == %spyon) { msg %spy %color $+ * $nick($chan,$nick).pnick $2- }
elseif ($chan == %spyon) { msg %spy %color $+ < $+ $nick($chan,$nick).pnick $+ > $1- }
}
:)
on :MODE:%spyon: { msg %spy %color $+ $nick sets mode: $1- }
And that could be shortend like so
on :MODE:%spyon: msg %spy %color $+ $nick sets mode: $1-
:)
Also -
if ($chan == %spyon) && ($1 != $null) { msg %spy %color $+ * $nick($chan,$nick).pnick ( $+ $address $+ ) has left $chan ( $+ $1- $+ ) }
elseif ($chan == %spyon) { msg %spy %color $+ * $nick($chan,$nick).pnick ( $+ $address $+ ) has left $chan }
}
Could easily be shortend to an $iif statement, like so
if ($chan == %spyon) msg %spy %color $+ * $nick($chan,$nick).pnick ( $+ $address $+ ) has left $chan $iif($1,With message: $chr(40) $+ $1- $+ $chr(41))
Updated, uses rawmode instead all the other ones, so even servers can trigger this.
btw i have a REALLY awesome alternative to this, but idk if i wanna release it :p
it connects to your computer on a desired port to an ircd (so far i've only tested on unreal) then connects to a real irc server then relays EVERYTHING it sees from the real server to your ircd except server msgs, pms, and private notices. so when you join a channel on your ircd its as if your actually there ^^ the only problem is unreal doesnt support +ps so any channel with +p it doesnt relay, the who set topic and what time isn't correct (too lazy to fix this one atm :p) same thing for +b/I/e the full name in the whoises on your server aren't correct (i would fix this so it gives the correct info, but that mean whoising everyone the joins after it links the channel, and on popular channels you could flood yourself off) of course, as we all know what is relayed on your ircd isn't space-preserved D: but $ % and #'s arent evaluated ^^
anyways im just blabbering on not like anyone cares anyways xD