Stealth Script — File Browser
StealthScriptv1.0 / StealthScriptv1.0 / Stealth / Programs / irc2.mrc
irc2.mrc — 12.8 KB — Download this file
menu channel,menubar,status {
-
IRC Server 2
.Dal:/sockopen irc irc.dal.net 6667
.TotallyIRC:/sockopen irc irc.totallyirc.com 6667
.-
.Different:/sockopen irc $$?="Server" $$?="Port"
.-
.Disconnect:/window -c @Irc2
.-
.Set Nickname:/set %irc2.nick $$?"New Nickname"
}
on 1:CLOSE:@Irc2:{
sockclose irc
set %close.x 1
:loop
set %cur.win $window(@#*,%close.x)
if %cur.win == $null { goto privwins }
window -c $window(@#*,%close.x)
inc %close.x
goto loop
:privwins
set %close.x 1
:loop1
if $window(@C*,%close.x) == $null { goto end }
window -c $window(@C*,%close.x)
inc %close.x
goto loop1
:end
echo -s Disconnecting from Irc Server 2!
}
on 1:CLOSE:@#*:{
set %target $target
set %target $remove(%target,@)
sockwrite -n irc PART %target
}
on 1:input:@#*:{
if $1 == /me { goto action }
if $left($1,1) == / {
irccommand $1-
}
set %talk.chan $active
set %talk.chan $remove(%talk.chan,@)
sockwrite -n irc privmsg %talk.chan : $+ $1-
aline -p $active $timestamp < $+ %irc2.nick $+ > $1-
halt
:action
set %talk.chan $active
set %talk.chan $remove(%talk.chan,@)
sockwrite -n irc privmsg %talk.chan : $+ $chr(1) $+ ACTION $2- $+ $chr(1)
aline -p $active 11 $+ $timestamp * %irc2.nick $2-
halt
}
on 1:input:@Irc2:{
if $left($1,1) == / {
irccommand $1-
}
aline @Irc2 15*** Please Dont Talk in the status Window
halt
}
on 1:sockopen:irc:{
if $sockerr > 0 {
halt
}
sockwrite -n irc user hey
sockwrite -n irc nick %irc2.nick
window -e @Irc2 -10 -10 800 700
}
alias irccommand {
set %prefix $1
if %prefix == /nick {
set %irc2.nick $2-
}
if %prefix == /msg {
sockwrite -n irc privmsg $2 : $+ $3-
halt
}
set %prefix $remove(%prefix,/)
sockwrite -n irc %prefix $2 : $+ $3-
halt
}
alias ircchanmode {
set %source $gettok(%var,1,32)
set %source $left(%source,$pos(%source,!,1))
set %source $remove(%source,!,:)
set %mode $gettok(%var,4,32)
set %tmode $gettok(%var,5,32)
aline -p @ $+ $gettok(%var,3,32) 15 $+ $timestamp *** %source Sets Mode: $+ %mode %tmode
set %chan $gettok(%var,3,32)
set %wind.chan @ $+ %chan
set %person.nick %tmode
set %person.nick1 * $+ %tmode
if %mode == +o {
rline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1) @ $+ %person.nick
}
if %mode == -o {
rline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1) %person.nick
}
if %mode == +v {
rline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1) + $+ %person.nick
}
if %mode == -v {
rline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1) %person.nick
}
}
on 1:sockread:irc:{
sockread %var
set %server.name $gettok(%var,1,32)
set %server.name $remove(%server.name,:)
if QUIT == $gettok(%var,2,32) {
quitirc
}
if PING == $gettok(%var,1,32) {
set %2 $gettok(%var,2,32)
sockwrite -n irc pong %2
aline @Irc2 15PING? PONG!
halt
}
if JOIN == $gettok(%var,2,32) {
set %irc2.chan $gettok(%var,3,32)
set %irc2.chan $remove(%irc2.chan,:)
ircjoinchan %irc2.chan
}
if KICK == $gettok(%var,2,32) {
irckick
}
if 0 isin $gettok(%var,2,32) || 1 isin $gettok(%var,2,32) || 2 isin $gettok(%var,2,32) || 3 isin $gettok(%var,2,32) || 4 isin $gettok(%var,3,32) || 5 isin $gettok(%var,2,32) || 6 isin $gettok(%var,2,32) || 7 isin $gettok(%var,2,32) || 8 isin $gettok(%var,2,32) || 9 isin $gettok(%var,2,32) {
rawcommand
}
if PART == $gettok(%var,2,32) {
ircpart
}
if NICK == $gettok(%var,2,32) {
ircnick
}
if MODE == $gettok(%var,2,32) {
if $chr(35) == $left($gettok(%var,3,32),1) {
ircchanmode
}
if $chr(35) != $left($gettok(%var,3,32),1) {
set %mode $gettok(%var,4,32)
set %mode $remove(%mode,:)
echo @Irc2 15 $+ *** %irc2.nick Sets Mode %mode
}
halt
}
if PRIVMSG == $gettok(%var,2,32) {
ircchanmsg %var
}
if NOTICE AUTH == $gettok(%var,2-3,32) {
connectnotice
}
if TOPIC == $gettok(%var,2,32) {
set %nick.topic $gettok(%var,1,32)
set %nick.topic $left(%nick.topic,$pos(%nick.topic,!,1))
set %nick.topic $remove(%nick.topic,:,!)
set %new.topic $gettok(%var,4-1000,32)
set %new.topic $right(%new.topic,$calc($len(%new.topic) - 1))
aline -p @ $+ $gettok(%var,3,32) 15 $+ $timestamp *** %nick.Topic Changes Topic To ' $+ %new.topic $+ '
halt
}
if NOTICE == $gettok(%var,2,32) {
set %say.not $gettok(%var,4-1000,32)
set %nick.not $gettok(%var,1,32)
set %nick.not $left(%nick.not,$pos(%nick.not,!,1))
set %nick.not $remove(%nick.not,!,:)
aline -p @Irc2 15 $+ $timestamp *** - $+ %nick.not $+ - %say.not
halt
}
if %var == $null { aline @Irc2 12- | halt }
aline @Irc2 %var
:end
halt
}
alias quitirc {
set %win.x 1
set %quit.reason $gettok(%var,3-1000,32)
set %quit.reason $right(%quit.reason,$calc($len(%quit.reason) - 1))
set %quit.nick $gettok(%var,1,32)
set %quit.host %quit.nick
set %quit.nick $left(%quit.nick,$pos(%quit.nick,!,1))
set %quit.nick $remove(%quit.nick,!,:)
set %quit.host $right(%quit.host,$calc($len(%quit.host) - 1))
set %person.nick1 * $+ %quit.nick
set %person.nick1 $remove(%person.nick1,:)
:loop
set %wind.chan $window(@*,%win.x)
if $window(@*,%win.x) == $null {
halt
}
aline -p $window(@*,%win.x) 15 $+ $timestamp *** Quits: %quit.nick ( $+ %quit.host $+ ) Has quit IRC: ( $+ %quit.reason $+ )
if $window(@*,%win.x) == @Irc2 {
}
set %nick.line $fline(%wind.chan,%person.nick1,1,1)
if %nick.line != $null {
dline -l %wind.chan %nick.line
}
inc %win.x
goto loop
:end
halt
}
alias ircnick {
set %win.x 1
set %person.nick $gettok(%var,1,32)
set %person.nick $left(%person.nick,$pos(%person.nick,!,1))
set %person.nick $remove(%person.nick,!,:)
set %newnick $gettok(%var,3,32)
set %newnick $remove(%newnick,:)
:loop
set %win.nick $window(@*,%win.x)
if %win.nick == $null { goto end }
if %win.nick != @Irc2 {
set %person.nick3 * $+ %person.nick
set %line.nick $fline(%win.nick,%person.nick3,1,1)
if %line.nick != $null {
aline -p %win.nick 15 $+ $timestamp *** %person.nick Is Now Known as %newnick
rline -l %win.nick %line.nick %newnick
}
}
inc %win.x
goto loop
:end
halt
}
alias irckick {
set %person.nick $gettok(%var,1,32)
set %chan $gettok(%var,3,32)
set %chan %chan
set %kicked.nick $gettok(%var,4,32)
set %kicked.reason $gettok(%var,5-1000,32)
if %person.nick != %irc2.nick {
set %chan $gettok(%var,3,32)
set %kicked.nick $gettok(%var,4,32)
set %kicked.reason $gettok(%var,5-1000,32)
set %kicked.reason $remove(%kicked.reason,:)
set %person.nick $left(%person.nick,$pos(%person.nick,!,1))
set %person.nick $remove(%person.nick,!,:)
aline -p @ $+ %chan 15 $+ $timestamp *** %kicked.nick Was Kicked From %chan By %person.nick ( $+ %kicked.reason $+ )
set %wind.chan @ $+ %chan
set %person1.nick * $+ %kicked.nick
dline -l %wind.chan $fline(%wind.chan,%person1.nick,1,1)
}
if %kicked.nick == %irc2.nick {
window -c @ $+ %chan
set %person.host $gettok(%var,1,32)
set %person.host1 $left(%person.host,$pos(%person.host,!,1))
set %person.nick1 $left(%person.host,$pos(%person.host,!,1))
set %person.host2 $remove(%person.host,%person.nick1)
aline -p @Irc2 15 $+ $timestamp *** You were Kicked from %chan by %person.nick ( $+ %kicked.reason $+ )
aline -p @Irc2 11-
}
}
alias ircjoinchan {
set %chan $1
set %irc2.chan $gettok(%var,3,32)
set %irc2.chan $remove(%irc2.chan,:)
set %person.nick $gettok(%var,1,32)
set %person.nick $left(%person.nick,$pos(%person.nick,!,1))
set %person.nick $remove(%person.nick,!,:)
if %person.nick == %irc2.nick {
window -g1Sel10 @ $+ %chan -10 -10 800 700
halt
}
unset %chan. $+ %chan
set %chan $1
set %person.host $gettok(%var,1,32)
set %person.host1 $left(%person.host,$pos(%person.host,!,1))
set %person.nick1 $left(%person.host,$pos(%person.host,!,1))
set %person.host2 $remove(%person.host,%person.nick1)
aline -p @ $+ %chan 0 $+ $timestamp *** %person.nick ( $+ %person.host2 $+ ) Has Joined $1
aline -l @ $+ %chan %person.nick
set %chan. $+ %chan %chan. [ $+ [ %chan ] ] %person.nick
halt
}
alias ircpart {
set %person.nick $gettok(%var,1,32)
set %person.nick $left(%person.nick,$pos(%person.nick,!,1))
set %person.nick $remove(%person.nick,!,:)
set %chan $gettok(%var,3,32)
if %person.nick != %irc2.nick {
set %chan %chan
set %person.host $gettok(%var,1,32)
set %person.host1 $left(%person.host,$pos(%person.host,!,1))
set %person.nick1 $left(%person.host,$pos(%person.host,!,1))
set %person.host2 $remove(%person.host,%person.nick1)
set %person.nick1 * $+ %person.nick
aline -p @ $+ %chan 15 $+ $timestamp *** %person.nick ( $+ %person.host2 $+ ) Has Left %chan
set %wind.chan @ $+ %chan
dline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1)
set %chan. $+ %wind.chan $remove(%chan [ $+ [ %wind.chan ] ],%person.nick)
}
if %person.nick == %irc2.nick {
unset %chan. $+ %chan
}
halt
}
alias listnicks {
set %all.nicks $2-
set %chan.list $1
set %chan. $+ %chan.list %all.nicks
set %all.nicks $remove(%all.nicks,:)
set %nick.x 1
:loop
set %nick.1 $gettok(%all.nicks,%nick.x,32)
if %nick.1 == $null {
goto end
}
aline -l @ $+ %chan.list %nick.1
inc %nick.x
goto loop
:end
}
alias rawcommand {
if 332 == $gettok(%var,2,32) {
set %topic $gettok(%var,5-1000,32)
aline -p @ $+ $gettok(%var,4,32) 15 $+ $timestamp Now Topic Is: ' $+ %topic $+ 15'
halt
}
if 333 == $gettok(%var,2,32) {
aline -p @ $+ $gettok(%var,4,32) 15 $+ $timestamp Set By: $gettok(%var,5,32)
halt
}
if 421 == $gettok(%var,2,32) {
$1-
halt
}
if 353 == $gettok(%var,2,32) {
listnicks $gettok(%var,5,32) $gettok(%var,6-10000,32)
}
set %rawtext $gettok(%var,4-10000,32)
if $chr(58) == $left(%rawtext,1) || $chr(61) == $left(%rawtext,1) {
set %rawtext $right(%rawtext,$calc($len(%rawtext) - 1))
}
if %rawtext == $null { halt }
aline -p @Irc2 %rawtext
halt
}
alias connectnotice {
set %connect.notice $gettok(%var,4-1000,32)
aline @Irc2 15 $timestamp %server.name %connect.notice
halt
}
alias ircchanmsg {
if $chr(35) isin $gettok(%var,3,32) {
set %chan $gettok(%var,3,32)
set %chan $remove(%chan,:)
set %said $gettok(%var,5-1000,32)
set %1word $gettok(%var,4,32)
%1word = $right(%1word,$calc($len(%1word) - 1))
set %irc2.nick.said $gettok(%var,1,32)
set %irc2.nick.said $left(%irc2.nick.said,$pos(%irc2.nick.said,!,1))
set %irc2.nick.said $remove(%irc2.nick.said,!,:)
if action isin %1word {
set %said $left(%said,$calc($len(%said) - 1))
aline -p @ $+ $gettok(%var,3,32) 11 $+ $timestamp * %irc2.nick.said %said
halt
}
set %window @ $+ %chan
set %said %1word %said
if $window(%window,1) != $null {
aline -p %window $timestamp < $+ %irc2.nick.said $+ > %said
}
}
if $chr(35) !isin $gettok(%var,3,32) {
privchat
}
halt
}
alias privchat {
if $1 == $null {
set %query.nick $gettok(%var,1,32)
set %query.nick $left(%query.nick,$pos(%query.nick,!,1))
set %query.nick $remove(%query.nick,:,!)
set %chat.num 1
set %chat.tot.num $window(@Private*,0)
:loop
if %chat.tot.num == 0 {
goto openchat
}
if $window(*Private,%chat.num) == @Private: [ $+ [ %query.nick ] ] {
goto end
}
inc %chat.num
}
if $1 != $null {
set %query.nick $1
window -e @Private $+ %query.nick
halt
}
:openchat
window -e @Private: $+ %query.nick
:end
set %whatwas.said $gettok(%var,4-1000,32)
set %whatwas.said $right(%whatwas.said,$calc($len(%whatwas.said) - 1))
aline -p @Private: $+ %query.nick $timestamp < $+ %query.nick $+ > %whatwas.said
}
on 1:input:@Private*:{
if $left($1,1) == / {
irccommand $1-
}
set %talk.nick $active
set %talk.nick $remove(%talk.nick,@Private)
sockwrite -n irc privmsg %talk.nick : $+ $1-
aline -p $active $timestamp < $+ %irc2.nick $+ > $1-
halt
}
11,12[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
8,4 STOP BEING HOMOSEXUALSTOP BEING HOMOSEXUALSTOP BEING HOMOSEXUALSTOP BEING HOMOSEXUALSTOP BEING HOMOSEXUAL