All pastes #1244323 Raw Edit

Anonymus

public text v1 · immutable
#1244323 ·published 2008-11-03 21:11 UTC
rendered paste body
;; Join multiple channels
;; Usage: /j chan1 chan2 chan3 ..
alias j /var %x = $0 | while (%x) { join $iif($mid($gettok($1-,$calc($0 - %x),32),1,1) == $chr(35),,$chr(35)) $+ $gettok($1-,$calc($0 - %x + 1),32) | dec %x }

;; Leave multiple channels
;; Usage: /l chan1 chan2 chan3
alias l /var %x = $0 | while (%x) { $iif($me ison $iif($mid($gettok($1-,$calc($0 - %x),32),1,1) == $chr(35),,$chr(35)) $+ $gettok($1-,$calc($0 - %x + 1),32),part $iif($mid($gettok($1-,$calc($0 - %x + 1),32),1,1) == $chr(35),,$chr(35)) $+ $gettok($1-,$calc($0 - %x + 1),32),) | dec %x }


;; Mass kick a channel (warning .. lolz)
;; Usage: /mkick
alias mkick {
  if ($me isop $chan) {
    var %x = 1
    while (%x <= $nick($chan,0)) {
      if ($nick($chan,%x) == $me) {
        inc %x
      }
      else {
        kick $chan $nick($chan,%x) Mass kick no. $+ %x
        inc %x
      }
    }
  }
}


;; Turn a mass of text into $chr() symbols including the $+ inbetween each one
;; Usage: /turn_to_chr <text>
alias turn_to_chr {
  var %x = 1
  while (%x <= $len($1-)) {
    var %y = %y $+ $iif($asc($mid($1-,%x,%x)) = 32,$chr(32) $ $+ chr(32),$chr(32) $ $+ chr( $+ $asc($mid($1-,%x,%x)) $+ ) $iif(%x != $len($1-),$ $+ +,))
    inc %x
  }
  echo -a %y
}


;; Drop-Shadow style text
;; Usage: /sh <text>
alias sh {
  if ($len($1-) > 115) {
    echo -a Too many characters entered. Max 115
    halt
  }
  if (S isincs $chan($active).mode) {
    echo -a +S is set in this channel (Strips color codes)
    halt
  }
  else {
    var %c = $rand(3,13)
    if ($1 == /me) {
      msg $active  $+ %c $+ , $+ %c $+ X $+ * $me $2- $+ X
      msg $active  $+ %c $+ , $+ %c $+ X1, $+ %c $+ * $me $2- $+  $+ %c $+ , $+ %c $+ X $+ 14,14X
      msg $active  $+ %c $+ , $+ %c $+ X $+ %c $+ , $+ %c $+ * $me $2- $+  $+ %c $+ , $+ %c $+ X $+ 14,14X
      msg $active 0,0X14,14 $+ X $+ * $me $2- $+ X
    }
    else {
      msg $active  $+ %c $+ , $+ %c $+ X $+ $1- $+ X
      msg $active  $+ %c $+ , $+ %c $+ X1, $+ %c $+ $1- $+  $+ %c $+ , $+ %c $+ X $+ 14,14X
      msg $active  $+ %c $+ , $+ %c $+ X $+ %c $+ , $+ %c $+ $1- $+  $+ %c $+ , $+ %c $+ X $+ 14,14X
      msg $active 0,0X14,14 $+ X $+ $1- $+ X
    }
  }
}


;; List all the ascii characters quickly
;; /asc
alias asc /window @asc | var %x = 1, %y = 255 | while (%x <= %y) { aline @asc %x - $chr(%x) | inc %x 1 }










; Colors, Reverse, Rainbow, and Massive Text. 
; For colours --- /colours <text here> 
; For reversed text --- /reverse <text here> 
; For reversed text as a /me --- /mereverse <text here> 
; For a rainbow of colors --- /rainbow <text here> 
; For massively huge text --- /mt <text here> 
; For a rainbow of massively huge text --- /mtrainbow <text here> 
alias colours { 
  var %length = $len($1-) 
  var %letter = 1 
  while (%letter <= %length) { 
    if ($mid($1-,%letter,1) == $chr(32)) { 
      var %output = %output $+ & 
      goto xxx 
    } 
    var %output = %output $+  $+ $rand(03,013) $+ $mid($1-,%letter,1) 
    :xxx 
    inc %letter 
  } 
  var %output = $replace(%output,$chr(38),$chr(32)) 
  msg $active %output 
} 
alias rev { 
  var %len = $len($1-) 
  var %return = $null 
  while (%len > 0) { 
    var %return = %return $+ $mid($1-,%len,1) $+ $chr(32) 
    dec %len 
  } 
  return %return 
} 
alias reverse //say $rev( $1- ) 
alias mereverse //me $rev( $1- ) 
alias rainbow { 
  var %pos = 1, %color = 04, %result = $chr(3) 
  while (%pos <= $len($1-)) { 
    %result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3) 
    inc %pos 
    %color = $nextcolor(%color) 
  } 
  if ($isid) return %result 
  else say %result 
} 
alias -l nextcolor { 
  if ($$1 == 04) return 07 
  elseif ($$1 == 07) return 08 
  elseif ($$1 == 08) return 09 
  elseif ($$1 == 09) return 11 
  elseif ($$1 == 11) return 12 
  elseif ($$1 == 12) return 02 
  elseif ($$1 == 02) return 06 
  elseif ($$1 == 06) return 13 
  elseif ($$1 == 13) return 04 
} 
alias mt { 
  if ($bigtext.unsupp($1-)) { 
    echo -ac info * Characters not supported by Big Text present in your message: $bigtext.unsupp($1-) 
    return 
  } 
  var %lia, %lib, %lic, %lid, %lie, %i 1, %text $strip($1-, bur), %colregex /^(\d\d?(?:,\d\d?)?)/ 
  var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ \d\d?/g, %res, %dummy = $regsub(%text, %regex, $null, %text) 
  while (%i <= $len(%text)) { 
    if ($mid(%text, %i, 1) == $chr(3)) { 
      var %lia $+(%lia, $chr(3)), %lib $+(%lib, $chr(3)), %lic $+(%lic, $chr(3)), %lid $+(%lid, $chr(3)), %lie $+(%lie, $chr(3)) 
      if ($mid(%text, $calc(%i + 1), 1) != $chr(32)) && ($regex(mtcol, $mid(%text, $calc(%i + 1), $mid(%text, $calc(%i + 1), 0)), %colregex)) { 
        var %m $regml(mtcol, 1) 
        var %lia %lia $+ %m, %lib %lib $+ %m, %lic %lic $+ %m, %lid %lid $+ %m, %lie %lie $+ %m 
        inc %i $len(%m) 
      } 
    } 
    else { 
      tokenize 32 $bigtext.char($mid(%text, %i, 1)) 
      var %lia $+(%lia, $1), %lib $+(%lib, $2), %lic $+(%lic, $3), %lid $+(%lid, $4), %lie $+(%lie, $5) 
      ; if ($bigtext.kern($mid(%text, %i, 2))) { 
      var %lia $+(%lia, .), %lib $+(%lib, .), %lic $+(%lic, .), %lid $+(%lid, .), %lie $+(%lie, .) 
      ; } 
    } 
    inc %i 
  } 
  say $bigtext.format(%lia) 
  say $bigtext.format(%lib) 
  say $bigtext.format(%lic) 
  say $bigtext.format(%lid) 
  say $bigtext.format(%lie) 
} 
; You may customize this alias however you want to. 
; It is Big Text's font, used above. 
; The return value consists of dots and X's, to denote 
;   unlit and lit points in the font, respectively; 
;   there are 5 tokens of the same length, each 
;   corresponding to a line in the 5-line output. 
; Note how the . and X's look like the characters; 
;   you can use this to your advantage! 
alias -l bigtext.char { 
  if ($1 === $chr(32)) || ($1 === $null) return $& 
    ... $& 
    ... $& 
    ... $& 
    ... $& 
    ... 
  if ($1 === $chr(160)) return $& 
    ..... $& 
    ..... $& 
    ..... $& 
    ..... $& 
    ..... 
  elseif ($1 == 0) return $& 
    .XXXX. $& 
    XX..XX $& 
    XX..XX $& 
    XX..XX $& 
    .XXXX. 
  elseif ($1 == 1) return $& 
    .XXX. $& 
    ..XX. $& 
    ..XX. $& 
    ..XX. $& 
    .XXXX 
  elseif ($1 == 2) return $& 
    XXXXX. $& 
    ....XX $& 
    ..XX.. $& 
    XX.... $& 
    XXXXXX 
  elseif ($1 == 3) return $& 
    XXXXX. $& 
    ....XX $& 
    .XXXX. $& 
    ....XX $& 
    XXXXX. 
  elseif ($1 == 4) return $& 
    .XX.XX $& 
    .XX.XX $& 
    .XX.XX $& 
    .XXXXX $& 
    ....XX 
  elseif ($1 == 5) return $& 
    XXXXX $& 
    XX... $& 
    XXXX. $& 
    ...XX $& 
    XXXX. 
  elseif ($1 == 6) return $& 
    .XXXX. $& 
    XX.... $& 
    XXXXX. $& 
    XX..XX $& 
    .XXXX. 
  elseif ($1 == 7) return $& 
    XXXXXX $& 
    ....XX $& 
    .XXXXX $& 
    ....XX $& 
    ....XX 
  elseif ($1 == 8) return $& 
    .XXXX. $& 
    XX..XX $& 
    .XXXX. $& 
    XX..XX $& 
    .XXXX. 
  elseif ($1 == 9) return $& 
    .XXXX. $& 
    XX..XX $& 
    .XXXXX $& 
    ....XX $& 
    .XXXX. 
  elseif ($1 == A) return $& 
    .XXXX. $& 
    XX..XX $& 
    XXXXXX $& 
    XX..XX $& 
    XX..XX 
  elseif ($1 == B) return $& 
    XXXXX. $& 
    XX..XX $& 
    XXXXX. $& 
    XX..XX $& 
    XXXXX. 
  elseif ($1 == C) return $& 
    .XXXX. $& 
    XX..XX $& 
    XX.... $& 
    XX..XX $& 
    .XXXX. 
  elseif ($1 == D) return $& 
    XXXXX. $& 
    XX.XXX $& 
    XX..XX $& 
    XX.XXX $& 
    XXXXX. 
  elseif ($1 == E) return $& 
    XXXXX $& 
    XX... $& 
    XXXX. $& 
    XX... $& 
    XXXXX 
  elseif ($1 == F) return $& 
    XXXXX $& 
    XX... $& 
    XXXX. $& 
    XX... $& 
    XX... 
  elseif ($1 == G) return $& 
    .XXXX. $& 
    XX.... $& 
    XX.XXX $& 
    XX..XX $& 
    .XXXXX 
  elseif ($1 == H) return $& 
    XX...XX $& 
    XX...XX $& 
    XXXXXXX $& 
    XX...XX $& 
    XX...XX 
  elseif ($1 == I) return $& 
    XXXX $& 
    .XX. $& 
    .XX. $& 
    .XX. $& 
    XXXX 
  elseif ($1 == J) return $& 
    ....XX $& 
    ....XX $& 
    ....XX $& 
    XX..XX $& 
    .XXXX. 
  elseif ($1 == K) return $& 
    XX..XX $& 
    XX.XX. $& 
    XXXX.. $& 
    XX.XX. $& 
    XX..XX 
  elseif ($1 == L) return $& 
    XX... $& 
    XX... $& 
    XX... $& 
    XX... $& 
    XXXXX 
  elseif ($1 == M) return $& 
    XX....XX $& 
    XXX..XXX $& 
    XXXXXXXX $& 
    XX.XX.XX $& 
    XX....XX 
  elseif ($1 == N) return $& 
    XX..XX $& 
    XXX.XX $& 
    XXXXXX $& 
    XX.XXX $& 
    XX..XX 
  elseif ($1 == O) return $& 
    .XXXX. $& 
    XX..XX $& 
    XX..XX $& 
    XX..XX $& 
    .XXXX. 
  elseif ($1 == P) return $& 
    XXXXX. $& 
    XX..XX $& 
    XXXXX. $& 
    XX.... $& 
    XX.... 
  elseif ($1 == Q) return $& 
    .XXXX.. $& 
    XX..XX. $& 
    XX..XX. $& 
    XX..XX. $& 
    .XXXXXX 
  elseif ($1 == R) return $& 
    XXXXX. $& 
    XX..XX $& 
    XXXXX. $& 
    XX..XX $& 
    XX..XX 
  elseif ($1 == S) return $& 
    .XXXX. $& 
    XX.... $& 
    .XXXX. $& 
    ....XX $& 
    XXXXX. 
  elseif ($1 == T) return $& 
    XXXXXX $& 
    ..XX.. $& 
    ..XX.. $& 
    ..XX.. $& 
    ..XX.. 
  elseif ($1 == U) return $& 
    XX..XX $& 
    XX..XX $& 
    XX..XX $& 
    XX..XX $& 
    .XXXX. 
  elseif ($1 == V) return $& 
    XX....XX $& 
    XX....XX $& 
    .XX..XX. $& 
    ..XXXX.. $& 
    ...XX... 
  elseif ($1 == W) return $& 
    XX...XX $& 
    XX...XX $& 
    XX.X.XX $& 
    XXXXXXX $& 
    .XX.XX. 
  elseif ($1 == X) return $& 
    XX...XX $& 
    .XX.XX. $& 
    ..XXX.. $& 
    .XX.XX. $& 
    XX...XX 
  elseif ($1 == Y) return $& 
    XX..XX $& 
    XX..XX $& 
    .XXXX. $& 
    ..XX.. $& 
    ..XX.. 
  elseif ($1 == Z) return $& 
    XXXXXX $& 
    ...XX. $& 
    ..XX.. $& 
    .XX... $& 
    XXXXXX 
  elseif ($1 == $chr(35)) return $& 
    .XX..XX. $& 
    XXXXXXXX $& 
    .XX..XX. $& 
    XXXXXXXX $& 
    .XX..XX. 
  elseif ($1 == ') return $& 
    .XX $& 
    XX. $& 
    ... $& 
    ... $& 
    ... 
  elseif ($1 == ") return $& 
    XX..XX $& 
    XX..XX $& 
    ...... $& 
    ...... $& 
    ...... 
  elseif ($1 == +) return $& 
    ...... $& 
    ..XX.. $& 
    XXXXXX $& 
    ..XX.. $& 
    ...... 
  elseif ($1 == =) return $& 
    ...... $& 
    XXXXXX $& 
    ...... $& 
    XXXXXX $& 
    ...... 
  elseif ($1 == -) return $& 
    ...... $& 
    ...... $& 
    XXXXXX $& 
    ...... $& 
    ...... 
  elseif ($1 == _) return $& 
    ...... $& 
    ...... $& 
    ...... $& 
    ...... $& 
    XXXXXX 
  elseif ($1 == ?) return $& 
    XXXXXX $& 
    .....X $& 
    ....X. $& 
    ...... $& 
    ..X... 
  elseif ($1 == ?) return $& 
    .XXX. $& 
    XX.XX $& 
    .XXX. $& 
    ..... $& 
    ..... 
  elseif ($1 == :) return $& 
    .. $& 
    XX $& 
    .. $& 
    XX $& 
    .. 
  elseif ($1 == !) return $& 
    XX $& 
    XX $& 
    XX $& 
    .. $& 
    XX 
  elseif ($1 == ?) return $& 
    XXX. $& 
    ..XX $& 
    .XX. $& 
    .... $& 
    .XX. 
  elseif ($1 == .) return $& 
    .. $& 
    .. $& 
    .. $& 
    .. $& 
    XX 
  elseif ($1 == /) return $& 
    ....XX $& 
    ...XX. $& 
    ..XX.. $& 
    .XX... $& 
    XX.... 
  elseif ($1 == \) return $& 
    XX.... $& 
    .XX... $& 
    ..XX.. $& 
    ...XX. $& 
    ....XX 
  elseif ($1 == $chr(40)) return $& 
    ...XX $& 
    .XX.. $& 
    XX... $& 
    .XX.. $& 
    ...XX 
  elseif ($1 == $chr(41)) return $& 
    XX... $& 
    ..XX. $& 
    ...XX $& 
    ..XX. $& 
    XX... 
  elseif ($1 == $chr(37)) return $& 
    XX..XX $& 
    ...XX. $& 
    ..XX.. $& 
    .XX... $& 
    XX..XX 
  elseif ($1 == [) return $& 
    XXXXX $& 
    XX... $& 
    XX... $& 
    XX... $& 
    XXXXX 
  elseif ($1 == ]) return $& 
    XXXXX $& 
    ...XX $& 
    ...XX $& 
    ...XX $& 
    XXXXX 
  elseif ($1 == |) return $& 
    .XX. $& 
    .XX. $& 
    .XX. $& 
    .XX. $& 
    .XX. 
  elseif ($1 == <) return $& 
    ....XX $& 
    ..XX.. $& 
    XX.... $& 
    ..XX.. $& 
    ....XX 
  elseif ($1 == >) return $& 
    XX.... $& 
    ..XX.. $& 
    ....XX $& 
    ..XX.. $& 
    XX.... 
  elseif ($1 == ?) return $& 
    .... $& 
    .... $& 
    .XX. $& 
    ..XX $& 
    XXX. 
  elseif ($1 == ,) return $& 
    ... $& 
    ... $& 
    XXX $& 
    .XX $& 
    XX. 
} 
; Returns all unsupported characters within a Big Text message 
; Supported characters are a-z, space, digits, #'"+=?:!?./\()%-[]<>|?, 
alias bigtext.unsupp { 
  var %res, %dummy = $regsub($1-, /[]a-z  0-9# $+ $chr(44) $+ '+=?:!?./\\()%[|<>_?"?-]/igS, $null, %res) 
  return %res 
} 
; Returns $true if a space should be added between two characters, 
;   or $false if not. 
; Note: This is here only for aesthetic purposes. :) 
alias bigtext.kern { 
  var %res $true 
  if ($regex($1-, /^(.|[_GDSQL-]T|[TPFVY7/"]J|T\.|L[1Y\\"]|[LTK<[]-|-[]>%\\]|S1|T4|\?\.|\.\?|[467L\\]?|?[J/]|L'|\/\/|\\\\|?J|[_?]?|[?T_]_|>\.|\.<)$/i)) %res = $false 
  return %res 
} 
; Takes an input string of the form: 
; .XX..XX....XX.XX.XXXXX 
; And formats it for display. 
alias bigtext.format { 
  var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(\d\d?(?:,\d\d?)?)/ 
  while (%i <= $len($1-)) { 
    if ($mid($1-, %i, 1) == $chr(3)) { 
      if ($regex(mtcol, $mid($1-, $calc(%i + 1), $mid($1-, $calc(%i + 1), 0)), %colregex)) { 
        if ($gettok($regml(mtcol, 1), 1, 44) != %curcolor) { 
          %curcolor = $gettok($regml(mtcol, 1), 1, 44) 
          if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 
        } 
        inc %i $len($regml(mtcol, 1)) 
      } 
      elseif (%curcolor) { 
        %curcolor = 
        if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 
      } 
    } 
    else { 
      %current = $iif($mid($1-, %i, 1) == ., 0, 1) 
      if (%previous != %current) { 
        %previous = %current 
        if (%curcolor) { 
          if (%current) %res = %res $+ $chr(3) $+ %curcolor $+ , $+ %curcolor 
          else %res = %res $+ $chr(3) 
        } 
        else %res = %res $+ $chr(22) 
      } 
      %res = %res $+ $chr(160) 
    } 
    inc %i 
  } 
  return %res 
} 
alias mtrainbow //mt $rainbow( $+ $1- $+ ) 
alias scanchannel { 
  var %sn 1 
  while (%sn <= $nick($1,0)) 
  var %hlist.read2 1 
  while (%hlist.read2 <= $lines(hamlist.txt) 
  if ( $mask($read(hamlist.txt,%hlist.read2),5) iswm $address($nick($1,%sn),5) ) { 
    mode $1 +b $read(hamlist.txt,%hlist.read2) 
    inc %kicks 1 
    kick $1 $nick($1,%sn) blacklisted, fuck off) ( $+ %kicks idiots kicked 
  } 
  inc %hlist.read2 1 
} 
inc %sn 1 

on *:INPUT:#:{

  if ($1 == .eI) && (!$2) {
    mode $chan +eeeIII $address($me,9) $me $address($me,2) $address($me,9) $me $address($me,2)
  }
  if ($2) && ($1 == .eI) {
    mode $chan +eeeIII $address($2,9) $2 $address($2,2) $address($2,9) $2 $address($2,2)
  }
  if ($1 == .inv) {
    invite $2 $chan
  }
  if ($1 == .l) {
    cs access $chan list
  }
  if ($1 == .kb) { inc %bitch
    mode $chan +bbb $address($2,9) $2 $address($2,2) $address($2,9) $2 $address($2,2)
    kick $chan $2 $3-
    timer 1 1 /msg $chan 4Lol, --> $2 4<-- Has been added to the bitch list.. 11--> noobs in bitch list %bitch 11<--
  }
  if ($1 == .k ) {
    kick $chan $2-
  }
  if ($1 == .ub) && (!$2) {
    mode $chan -bbb $address($me,9) $me $address($me,2) $address($me,9) $me $address($me,2)
  }
  if ($2) && ($1 == .ub) {
    mode $chan -bbb $address($2,9) $2 $address($2,2) $address($2,9) $2 $address($2,2)
  }
  if ($1 == .clearb) {
    cs clear $chan bans
  }
  if ($1 == .-eI) && (!$2) {
    mode $chan -eeeIII $address($me,9) $me $address($me,2) $address($me,9) $me $address($me,2)
  }
  if ($2) && ($1 == .-eI) {
    mode $chan -eeeIII $address($2,9) $2 $address($2,2) $address($2,9) $2 $address($2,2)
  }
  if ($1 == .ak) {
    cs akick $chan add $2 $3-
  }
  if ($1 == .delak) {
    cs akick $chan del $2
  }
  if ($1 == .o) {
    mode $chan +o $2
  }
  if ($1 == .o) && (!$2) {
    mode $chan +o $me
  }
  if ($1 == .do) {
    mode $chan -o $2
  }
  if ($1 == .do) && (!$2) {
    mode $chan -o $me
  }
  if ($1 == .h) {
    mode $chan +h $2
  }
  if ($1 == .h) && (!$2) {
    mode $chan +h $me
  }
  if ($1 == .dh) {
    mode $chan -h $2
  }
  if ($1 == .dh) && (!$2) {
    mode $chan -h $me
  }
  if ($1 == .v) {
    mode $chan +v $2
  }
  if ($1 == .v) && (!$2) {
    mode $chan +v $me
  }
  if ($1 == .dv) {
    mode $chan -v $2
  }
  if ($1 == .dv) && (!$2) {
    mode $chan -v $me
  }
  if ($1 == .pm) {
    msg $2 $3-
  }
  if ($1 == .nt) {
    notice $2 $3-
  }
  if ($1 == .add) {
    cs access $chan add $2 $3
    if ($3 < 2) { halt }
    if ($3 == 3) { mode $chan +v $2 | halt }
    if ($1 == 4) { mode $chan +h $2 | halt }
    if ($3 >= 5) { mode $chan +o $2 | halt }
    if ($3 >= 10) { mode $chan +ao $2 $2 | halt }
  }
  if ($1 == .b) {
    mode $chan +bbb $address($2,9) $2 $address($2,2) $address($2,9) $2 $address($2,2)
  }
  if ($1 == .qkb) {
    mode $chan -e *!*@
    mode $chan -eeeIII $address($2,9) $2 $address($2,2) $address($2,9) $2 $address($2,2)
    mode $chan -Q+bbb $address($2,9) $2 $address($2,2) $address($2,9) $2 $address($2,2)
    timer 1 0 /mode $chan +i
    cs kick $chan $2 $3-
    notice $2 Gf..You..fail.
    timer 1 2 /mode $chan -i
    halt
  }
  if ($1 == .mlock) {
    cs set $chan mlock $2-
  } 
  if ($1 == .unb) {
    cs unban $2
    cs invite $2
    /timer 1 1 join $2
  }
  if ($1 == .m) {
    mode $chan $2-
  }
  if ($1 == .sex) {
    mode $chan +eeeIII $address($me,9) $me $address($me,2) $address($me,9) $me $address($me,2)
    mode $chan +eeII 
  }

  if ($1 == .uc) {
    echo Number of people in $chan is $nick(#,0)
  } 
  if ($1 == .ci) { 
    if ($2 == $null) { cs info $chan all | halt }
    if ($2 != $null) { cs info $2 all | halt }
  }
  if ($1 == .nu) { ns update | halt }
  if ($1 == .al) { ns alist | halt }
  if ($1 == .gl) { ns glist | halt }
  if ($1 == .w) { whois $2 | halt }
  if ($1 == .akv) { 
    if ($2 == $null) { cs akick $chan view | halt }
    if ($2 != $null) { cs akick $2 view | halt }
  }
  if ($1 == .e) { mode $chan +eeeeeeeeee $2- | halt }
  if ($1 == .I) { mode $chan +IIIIIIIIII $2- | halt }
  if ($1 == .ei) { mode $chan +eI $2 $2 | halt }
  if ($1 == .mute) { mode $chan +m | mode $chan +bb $2 ~q: $+ $2 | mode $chan -aohvq $2 $2 $2 $2 $2 | halt }
  if ($1 == .w) { whois $2 | halt }
  if ($1 == .spam) {
    /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 1 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 2 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 3 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 4 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 5 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 6 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 7 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 8 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 9 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 10 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 11 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 12 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 13 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
    /timer 1 14 /notice $2 spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspam
  }
  if ($1 == .ni) { 
    if ($2 == $null) { ns info $nick all | halt }
    if ($2 != $null) { ns info $2 all | halt }
  }
  if ($1 == .t) {
    msg $chan The topic is: $chan($chan).topic
  }
  if ($1 == .tl) {
    cs set $chan topiclock on
  }
  if ($1 == .off) {
    cs set $chan topiclock off
  }
  if ($1 == .assign) {
    bs assign # $2
  }

}
if ($1 == .unreg) {
  cs drop $chan
}
if ($1 == .prochan) {
  mode $chan +smntrMElfj 50 [5j#R10,3k#K2,10m#M2,5n#N2,5t#b]:5 4:6
}
if ($1 == .blist) {
  bs botlist
}
if ($1 == .founder) {
  cs set # founder $2-
}
if ($1 == .del) { cs access $chan del $2 }
if ($1 == .m) { ms send $2 $3- }

if ($1 == .mu) { mode # +m | mode # +bbb ~q: $+ $address($2,2) ~n: $+ $address($2,2) $address($2,2) | mode # -qaohv $2 $2 $2 $2 $2 | halt }