All pastes #734232 Raw Edit

sick script ( mugz )

public text v1 · immutable
·published 2007-10-12 14:50 UTC
rendered paste body
Alias openchan {
  set %OpenChan #$$iif($1,#$1,#$$?="Channel?") 
  if ($me ison %OpenChan) {
    window -zekodl15 +L @ $+ %OpenChan 6 560 604 173 Tahoma 12
    echo -t $+(@,%OpenChan) 03Topic for %OpenChan is ' $+ $chan(%OpenChan).topic $+ 03'
    var %i = 0
    while (%i < $nick(%OpenChan,0)) {
      inc %i
      aline -l $\chan $iif($nick(%OpenChan,%i) isop $\\chan,04@,$iif($nick(%OpenChan,%i) ishop $\\chan,07%,$iif($nick(%OpenChan,%i) isvoice $\\chan,02+,01))) $+ $nick(%OpenChan,%i)
    }
    renwin @ $+ %OpenChan @ $+ %OpenChan - $chan(%OpenChan).topic
  }
  else {
    echo -at Your not on %OpenChan
    unset %OpenChan
  }
}
Menu * {
  Channel Window:openchan $chan
  -
}
Menu @#* {
  .$iif($sline($active,1) isop $\\chan,@,$iif($sline($active,1) ishop $\\chan,%,$iif($sline($active,1) isvoice $\\chan,+))) $+ $strip($sline($active,1),bc) $+ :echo -s $strip($sline($active,1),bc)
  -
  Whois:whois $strip($regsubex($sline($active,1),[~&%@+],),bc)
  Query:Query $strip($regsubex($sline($active,1),[~&%@+],),bc)
  Control
  .Op:mode $\\chan +o $strip($regsubex($sline($active,1),[~&%@+],),bc)
  .De-Op:mode $\\chan -o $strip($regsubex($sline($active,1),[~&%@+],),bc)
  .Halfop:mode $\\chan +h $strip($regsubex($sline($active,1),[~&%@+],),bc)
  .De-HalfOp:mode $\\chan -h $strip($regsubex($sline($active,1),[~&%@+],),bc)
  .Voice:mode $\\chan +v $strip($regsubex($sline($active,1),[~&%@+],),bc)
  .De-Voice:mode $\\chan -v $strip($regsubex($sline($active,1),[~&%@+],),bc)
  .Kick:kick $\\chan $strip($regsubex($sline($active,1),[~&%@+],),bc)
  .KickBan:ban -k $\\chan $strip($regsubex($sline($active,1),[~&%@+],),bc) 2
  .Ban:ban $\\chan $strip($regsubex($sline($active,1),[~&%@+],),bc) 2
  .Kick Why:kick $\\chan $strip($regsubex($sline($active,1),[~&%@+],),bc) $?="Why?"
  .KickBan Why:ban -k $\\chan $strip($regsubex($sline($active,1),[~&%@+],),bc) 2 $?="Why?"
  CTCP
  .PING:ctcp $strip($regsubex($sline($active,1),[~&%@+],),bc) PING
  .VERSION:ctcp $strip($regsubex($sline($active,1),[~&%@+],),bc) VERSION
  Actions
  .Slap:describe $\\chan slaps $strip($regsubex($sline($active,1),[~&%@+],),bc) around a bit with a trout
  .Hug:describe $\\chan huggles $strip($regsubex($sline($active,1),[~&%@+],),bc)
  Ignore
  .Ignore:ignore $strip($regsubex($sline($active,1),[~&%@+],),bc)
  .Unignore:ignore -r $strip($regsubex($sline($active,1),[~&%@+],),bc)
  -
  Change Chan:$iif($?!"Do you want to?" == $true,changechan $?="New Channel?")
  Close:close -@ $\chan | unset %OpenChan
  -
}
Alias changechan {
  if ($me ison $1) {
    renwin @ $+ %OpenChan @ $+ #$$1 - $chan($1).topic
    set %OpenChan #$$1
    Clear @ $+ $1
    echo -t $\chan 03Now talking in $\\chan
    echo -t $\chan 03The topic for $\\chan is ' $+ $chan($1).topic $+ 03'
    .timer 1 1 editppl
  }
  else {
    echo -at Your not on $1
  }
}
Alias \chan return $+(@,%OpenChan)
Alias \\chan return %OpenChan
ON *:TEXT:*:%OpenChan:{
  echo -t $\chan < $+ $iif($nick isop $chan,04@,$iif($nick ishop $chan,07%,$iif($nick isvoice $chan,02+,10))) $+ $nick $+ > $1-
}
ON *:NOTICE:*:%OpenChan:{
  echo -t $\chan 05-4 $+ $nick $+ 05: $+ $\\chan $+ -  $1-
}
ON *:NOTICE:*:?:{
  if (%OpenChan) {
    echo -t $\chan 05- $+ $nick $+ -  $1-
  }
}
ON *:ACTION:*:%OpenChan:{
  echo -t $\chan 06* $iif($nick isop $chan,@,$iif($nick ishop $chan,%,$iif($nick isvoice $chan,+))) $+ $nick $1-
}
ON *:MODE:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: $1-
}
ON *:RAWMODE:%OpenChan:{ 
  if ((a isincs $1 || e isincs $1 || I isincs $1) && (k !isincs $1 && f !isincs $1 && L !isincs $1 && l !isincs $1 $&
    && j !isincs $1 && p !isincs $1 && s !isincs $1 && m !isincs $1 && n !isincs $1 && t !isincs $1 && i !isincs $1 && $&
    r !isincs $1 && R !isincs $1 && c !isincs $1 && O !isincs $1 && A !isincs $1 && Q !isincs $1 && K !isincs $1 && V !isincs $&
    $1 && C !isincs $1 && u !isincs $1 && z !isincs $1 && N !isincs $1 && S !isincs $1 && M !isincs $1 && T !isincs $1 && G $&
    !isincs $1 && H !isincs $1 && F !isincs $1 && E !isincs $1 && o !isincs $1)) {
    echo -t $\chan 03* $nick sets mode: $1-
  }
}
Alias describe {
  if (%OpenChan == $1) {
    echo -t $\chan 06* $iif($me isop $2,@,$iif($me ishop $2,%,$iif($me isvoice $2,+))) $+ $me $2-
    describe $1-
  }
  else {
    describe $1-
  }
}
ON *:TOPIC:%OpenChan:{
  echo -t $\chan 03* $nick changes the topic to ' $+ $1- $+ 03'
}
ON *:KICK:%OpenChan:{
  echo -t $\chan 03* $iif($knick == $me,You were kicked from $chan by,$knick was kicked by) $nick ( $+ $1- $+ )
  .timer 1 1 editppl
}
ON *:BAN:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: +b $banmask
}
ON *:UNBAN:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: -b $banmask
}
ON *:JOIN:%OpenChan:{
  echo -t $\chan 03* $nick has joined $chan
  .timer 1 1 editppl
}
ON *:PART:%OpenChan:{
  echo -t $\chan 03* $nick has parted $chan
  .timer 1 1 editppl
}
Alias editppl {
  dline -l $\chan 1-
  var %i = 0
  while (%i < $nick(%OpenChan,0)) {
    inc %i
    $iif($nick(%OpenChan,%i) != $nick,aline -l $\chan $iif($nick(%OpenChan,%i) isop $\\chan,04@,$iif($nick(%OpenChan,%i) ishop $\\chan,07%,$iif($nick(%OpenChan,%i) isvoice $\\chan,02+,01)))) $+ $nick(%OpenChan,%i)
  }
}
ON *:OWNER:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: +q $opnick
  .timer 1 1 editppl 
}
ON *:DEOWNER:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: -q $opnick
  .timer 1 1 editppl 
}
ON *:OP:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: +o $opnick
  .timer 1 1 editppl 
}
ON *:DEOP:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: -o $opnick
  .timer 1 1 editppl 
}
ON *:HELP:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: +h $hnick
  .timer 1 1 editppl 
}
ON *:DEHELP:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: -h $hnick
  .timer 1 1 editppl 
}
ON *:VOICE:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: +v $vnick
  .timer 1 1 editppl 
}
ON *:DEVOICE:%OpenChan:{
  echo -t $\chan 03* $nick sets mode: -v $vnick
  .timer 1 1 editppl 
}
ON *:INPUT:@ $+ %OpenChan:{
  if (%OpenChan) {
    if ($left($1,1) == /) {
      tokenize 32 $replace($1-,$chr(35),±)
      if (*me iswm $1) {
        .describe $\\chan $replace($iif($left($1,2) == //,$($2-,2),$2-),$+($chr(32),$chr(177),$chr(32)),$+($chr(32),$\\chan,$chr(32)))
        echo -t $\chan 06* $iif($me isop $\\chan,@,$iif($me ishop $\\chan,%,$iif($me isvoice $\\chan,+))) $+ $me $replace($iif($left($1,2) == //,$($2-,2),$2-),$+($chr(32),$chr(177),$chr(32)),$+($chr(32),$\\chan,$chr(32)))
        halt    
      }
      else {
        $replace($iif($left($1,2) == //,$($1-,2),$1-),$+($chr(32),$chr(177),$chr(32)),$+($chr(32),$\\chan,$chr(32)),±,$chr(35))
        halt
      }
    }
    else {
      .msg %OpenChan $1-
      echo -t $\chan < $+ $iif($me isop $\\chan,04@,$iif($me ishop $\\chan,07%,$iif($me isvoice $\\chan,02+,10))) $+ $me $+ > $1-
      halt
    }
  }
}
ON *:NICK:{
  if ($newnick ison $\\chan) {
    echo -t $\chan 03* $nick is now known as $newnick
    .timer 1 1 editppl 
  }
}
ON *:QUIT:{
  if ($nick ison $\\chan) {
    echo -t $\chan 02* $nick has quit IRC ( $+ $1- $+ )
    .timer 1 1 editppl 
  }
}
ON *:CLOSE:@ $+ %OpenChan:{
  unset %OpenChan
}
ON *:INVITE:#:{
  if (%OpenChan) {
    echo -t $\chan 03 $+ $nick invited you to $chan
  }
}
ON *:TEXT:*:#:{
  if (%OpenChan && $me isin $1- && $chan != %OpenChan) {
    echo -t $\chan 04You have been highlighted in $chan by $nick
  }