mIRCD — File Browser

mIRCDv1.0 / mIRCDv1.0 / mircd.ini

mircd.ini — 39.45 KB — Download this file

[script]
n0=on *:load: {
n1=  .remote on
n2=  var %count 1
n3=  while $hget(%count) != $null {
n4=    hfree $hget(%count)
n5=    inc %count 1
n6=  }
n7=  .timer 1 1 f12
n8=}
n9=
n10=on *:start: {
n11=  .remote on
n12=  var %count 1
n13=  while $hget(%count) != $null {
n14=    hfree $hget(%count)
n15=    inc %count 1
n16=  }
n17=  .remove nicks.txt
n18=  .remove tmp.txt
n19=  unset %nick %sock %users %c
n20=}
n21=
n22=alias f12 dialog -dm mircd mircd
n23=
n24=dialog mircd {
n25=  title "mIRCD Configuration"
n26=  size -1 -1 257 75
n27=  option dbu
n28=  button "IP", 1, 6 11 40 10
n29=  edit "", 2, 52 11 71 10, disable center
n30=  button "MOTD", 3, 6 27 40 10
n31=  edit "", 4, 52 27 71 10, disable center
n32=  edit "", 5, 52 43 71 10, disable center
n33=  button "Port", 6, 6 43 40 10
n34=  edit "", 7, 181 10 71 10, disable center
n35=  button "Name", 8, 135 10 40 10
n36=  edit "", 9, 181 25 71 10, disable center
n37=  button "Email", 10, 135 25 40 10
n38=  edit "", 11, 181 40 71 10, disable center
n39=  button "Location", 12, 135 40 40 10
n40=  edit "", 13, 52 59 71 10, disable center
n41=  button "Max Users", 14, 6 59 40 10
n42=  box "Server", 15, 2 1 124 72
n43=  box "Admin", 16, 131 1 124 52
n44=  button "OK", 17, 136 55 37 8, ok
n45=  button "RELOAD", 18, 177 55 37 8
n46=  button "UNLOAD", 19, 218 55 37 8
n47=  button "Start mIRCD", 20, 156 66 37 8
n48=  button "Stop mIRCD", 21, 198 66 37 8
n49=}
n50=
n51=on *:dialog:mircd:init:*: {
n52=  if [ %mircd.ip ] != $null {
n53=    did -o mircd 2 1 [ %mircd.ip ]
n54=  }
n55=  else {
n56=    did -o mircd 2 1 N/A
n57=  }
n58=  if [ %mircd.motd ] != $null {
n59=    did -o mircd 4 1 %mircd.motd
n60=  }
n61=  else {
n62=    did -o mircd 4 1 N/A
n63=  }
n64=  if [ %mircd.port ] != $null {
n65=    did -o mircd 5 1 %mircd.port
n66=  }
n67=  else {
n68=    did -o mircd 5 1 N/A
n69=  }
n70=  if [ %mircd.maxusers ] != $null {
n71=    did -o mircd 13 1 %mircd.maxusers
n72=  }
n73=  else {
n74=    did -o mircd 13 1 N/A
n75=  }
n76=  if [ %mircd.admin.name ] != $null {
n77=    did -o mircd 7 1 %mircd.admin.name
n78=  }
n79=  else {
n80=    did -o mircd 7 1 N/A
n81=  }
n82=  if [ %mircd.admin.email ] != $null {
n83=    did -o mircd 9 1 %mircd.admin.email
n84=  }
n85=  else {
n86=    did -o mircd 9 1 N/A
n87=  }
n88=  if [ %mircd.admin.location ] != $null {
n89=    did -o mircd 11 1 %mircd.admin.location
n90=  }
n91=  else {
n92=    did -o mircd 11 1 N/A
n93=  }
n94=}
n95=
n96=on *:dialog:mircd:sclick:*: {
n97=  if $did == 1 {
n98=    var %tmp $?="Enter Server's IP"
n99=    if [ %tmp ] != $null {
n100=      set %mircd.ip [ %tmp ]
n101=      did -o mircd 2 1 %tmp
n102=    }
n103=  }
n104=  if $did == 3 {
n105=    var %tmp $?="Enter MOTD"
n106=    if [ %tmp ] != $null {
n107=      set %mircd.motd [ %tmp ]
n108=      did -o mircd 4 1 %tmp
n109=    }
n110=  }
n111=  if $did == 6 {
n112=    var %tmp $?="Enter Server's Port"
n113=    if [ %tmp ] != $null {
n114=      set %mircd.port [ %tmp ]
n115=      did -o mircd 5 1 %tmp
n116=    }
n117=  }
n118=  if $did == 14 {
n119=    var %tmp $?="Enter Server's Maximum Users"
n120=    if [ %tmp ] != $null {
n121=      set %mircd.maxusers [ %tmp ]
n122=      did -o mircd 13 1 %tmp
n123=    }
n124=  }
n125=  if $did == 8 {
n126=    var %tmp $?="Enter Admin's Name"
n127=    if [ %tmp ] != $null {
n128=      set %mircd.admin.name [ %tmp ]
n129=      did -o mircd 7 1 %tmp
n130=    }
n131=  }
n132=  if $did == 10 {
n133=    var %tmp $?="Enter Admin's Email"
n134=    if [ %tmp ] != $null {
n135=      set %mircd.admin.email [ %tmp ]
n136=      did -o mircd 9 1 %tmp
n137=    }
n138=  }
n139=  if $did == 12 {
n140=    var %tmp $?="Enter Server's Location"
n141=    if [ %tmp ] != $null {
n142=      set %mircd.admin.location [ %tmp ]
n143=      did -o mircd 11 1 %tmp
n144=    }
n145=  }
n146=  if $did == 18 {
n147=    var %count 1
n148=    while $hget(%count) != $null {
n149=      hfree $hget(%count)
n150=      inc %count 1
n151=    }
n152=    .timer -m 1 50 dialog -x mircd
n153=    .remove nicks.txt
n154=    unset %mircd* %nick %sock %users
n155=    .sockclose *
n156=    .timer 1 2 .load -rs mircd.ini
n157=    .unload -rs mircd.ini
n158=  }
n159=  if $did == 19 {
n160=    var %count 1
n161=    while $hget(%count) != $null {
n162=      hfree $hget(%count)
n163=      inc %count 1
n164=    }
n165=    .timer -m 1 50 dialog -x mircd
n166=    .remove nicks.txt
n167=    unset %mircd* %nick %sock %users
n168=    .sockclose *
n169=    .unload -rs mircd.ini 
n170=  }
n171=  if $did == 20 {
n172=    .sockclose *
n173=    .remove nicks.txt
n174=    .remove tmp.txt
n175=    unset %nick %sock %users
n176=    var %count 1
n177=    while $hget(%count) != $null {
n178=      hfree $hget(%count)
n179=      inc %count 1
n180=    }
n181=    if [ %mircd.ip ] != $null && [ %mircd.motd ] != $null && [ %mircd.port ] != $null && [ %mircd.maxusers ] != $null && [ %mircd.admin.name ] != $null && [ %mircd.admin.email ] != $null && [ %mircd.admin.location ] != $null {
n182=      echo -a mIRCD is listening for connections on port [ %mircd.port ]
n183=      socklisten mircd %mircd.port
n184=    }
n185=    else {
n186=      echo -a ERROR in Configuration!!!
n187=    }
n188=  }
n189=  if $did == 21 {
n190=    .sockclose *
n191=    .remove nicks.txt
n192=    .remove tmp.txt
n193=    unset %nick %sock %users
n194=    var %count 1
n195=    while $hget(%count) != $null {
n196=      hfree $hget(%count)
n197=      inc %count 1
n198=    }
n199=    echo -a mIRCD has stoppped
n200=  }
n201=}
n202=
n203=ON *:SOCKOPEN:mircd*: {
n204=  if ($sockerr > 0) { 
n205=    echo -a  $sockname Not Connected To Server
n206=    return
n207=  }
n208=}
n209=
n210=alias mircd {
n211=  if ($sock(ircd*) != $null) echo -a mIRCD user is online
n212=  elseif ($sock(ircd*) == $null) {
n213=    sockopen ircd* $server $port
n214=  }
n215=}
n216=
n217=ON *:SOCKREAD:mircd*: {
n218=  var %mircd
n219=  .sockread %mircd
n220=  if NICK == $gettok(%mircd,1,32) && $chr(58) != $left($gettok(%mircd,2,32),1) {
n221=    if $hget($sockname) == $null {
n222=      hmake $sockname
n223=      hadd $sockname nick: $+ $gettok(%mircd,2,32)
n224=      hadd $sockname id: $+ $sockname
n225=    }
n226=  }
n227=  elseif NICK == $gettok(%mircd,1,32) && $chr(58) == $left($gettok(%mircd,2,32),1) {
n228=    if $hfind($sockname,channel:*,1,w) != $null {
n229=      var %count4 1
n230=      while %count4 <= $lines(nicks.txt) {
n231=        if $read(nicks.txt, %count4) == $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1)) {
n232=          sockwrite -n $sockname : $+ [ %mircd.ip ] 433 * $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1)) :Nickname is already in use.
n233=          %count4 = $lines(nicks.txt)
n234=          set -u2 %nick fail
n235=        }
n236=        inc %count4 1
n237=      }
n238=      if [ %nick ] != fail {
n239=        var %count 1
n240=        while $hfind($sockname,channel:*,%count,w) != $null {
n241=          var %count2 1
n242=          while $hfind($remove($hfind($sockname,channel:*,%count,w),channel:),user:*,%count2,w) != $null {
n243=            var %count3 1
n244=            while $hget(%count3) != $null {
n245=              if $remove($hfind($remove($hfind($sockname,channel:*,%count,w),channel:),user:*,%count2,w),user:) == $remove($hfind($hget(%count3),nick:*,1,w),nick:) && $remove($hfind($hget(%count3),nick:*,1,w),nick:) != $remove($hfind($sockname,nick:*,1,w),nick:) {
n246=                if $read(tmp.txt, w, * $+ $remove($hfind($hget(%count3),id:*,1,w),id:) $+ * ) != $remove($hfind($hget(%count3),id:*,1,w),id:) {
n247=                  write tmp.txt $remove($hfind($hget(%count3),id:*,1,w),id:)
n248=                  sockwrite -n $remove($hfind($hget(%count3),id:*,1,w),id:) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) NICK : $+ $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1))
n249=                }
n250=              }
n251=              inc %count3 1
n252=            }
n253=            inc %count2 1
n254=          }
n255=          hdel $remove($hfind($sockname,channel:*,%count,w),channel:) user: $+ $remove($hfind($sockname,nick:*,1,w),nick:)
n256=          hadd $remove($hfind($sockname,channel:*,%count,w),channel:) user: $+ $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1))
n257=          inc %count 1
n258=        }
n259=        .remove tmp.txt
n260=        write -ds $+ $remove($hfind($sockname,nick:*,1,w),nick:) nicks.txt
n261=        write nicks.txt $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1))
n262=        sockwrite -n $sockname : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) NICK : $+ $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1))
n263=        hdel -w $sockname nick:*
n264=        hadd $sockname nick: $+ $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1))
n265=      }
n266=    }
n267=    else {
n268=      var %count 1
n269=      while %count <= $lines(nicks.txt) {
n270=        if $read(nicks.txt, %count) == $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1)) {
n271=          sockwrite -n $sockname : $+ [ %mircd.ip ] 433 * $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1)) :Nickname is already in use.
n272=          %count = $lines(nicks.txt)
n273=          set -u2 %nick fail
n274=        }
n275=        inc %count 1
n276=      }
n277=      if [ %nick ] != fail {
n278=        write -ds $+ $remove($hfind($sockname,nick:*,1,w),nick:) nicks.txt
n279=        write nicks.txt $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1))
n280=        sockwrite -n $sockname : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) NICK : $+ $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1))
n281=        hdel -w $sockname nick:*
n282=        hadd $sockname nick: $+ $remove($gettok(%mircd,2,32),$left($gettok(%mircd,2,32),1))
n283=      }
n284=    }
n285=  }
n286=  if USER == $gettok(%mircd,1,32) {
n287=    hadd $sockname host: $+ $gettok(%mircd,2,32) $+ @ $+ $sock($sockname).ip
n288=    hadd $sockname realname: $+ $replace($remove($gettok(%mircd,5-,32),$left($gettok(%mircd,5,32),1)),$chr(32),^^^)
n289=    hadd $sockname server: $+ $remove($gettok(%mircd,4,32),")
n290=    var %count 1
n291=    while %count <= $lines(nicks.txt) {
n292=      if $read(nicks.txt, %count) == $remove($hfind($sockname,nick:*,1,w),nick:) {
n293=        sockwrite -n $sockname : $+ [ %mircd.ip ] 433 * $remove($hfind($sockname,nick:*,1,w),nick:) :Nickname is already in use.
n294=        var %nick XXX- $+ $rand(0,9) $+ $rand(0,9) $+ $rand(0,9) $+ $rand(0,9) $+ $rand(0,9) $+ $rand(0,9) $+ $rand(0,9) $+ $rand(0,9) $+ $rand(0,9) $+ $rand(0,9)
n295=        sockwrite -n $sockname : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) NICK : $+ [ %nick ]
n296=        hdel -w $sockname nick:*
n297=        hadd $sockname nick: $+ %nick
n298=        %count = $lines(nicks.txt)
n299=        set -u2 %nick fail
n300=      }
n301=      inc %count 1
n302=    }
n303=    if [ %nick ] != fail {
n304=      write nicks.txt $remove($hfind($sockname,nick:*,1,w),nick:)
n305=    }
n306=    set -u2 %sock $sockname
n307=    welcome
n308=  }
n309=  if QUIT == $gettok(%mircd,1,32) {
n310=    if $hfind($sockname,channel:*,1,w) != $null {
n311=      var %count 1
n312=      while $hfind($sockname,channel:*,%count,w) != $null {
n313=        var %count2 1
n314=        while $hfind($remove($hfind($sockname,channel:*,%count,w),channel:),user:*,%count2,w) != $null {
n315=          var %count3 1
n316=          while $hget(%count3) != $null {
n317=            if $remove($hfind($remove($hfind($sockname,channel:*,%count,w),channel:),user:*,%count2,w),user:) == $remove($hfind($hget(%count3),nick:*,1,w),nick:) && $remove($hfind($hget(%count3),nick:*,1,w),nick:) != $remove($hfind($sockname,nick:*,1,w),nick:) {
n318=              sockwrite -n $remove($hfind($hget(%count3),id:*,1,w),id:) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) QUIT :Quit: $remove($gettok(%mircd,2-,32),$left($gettok(%mircd,2-,32),1))
n319=            }
n320=            inc %count3 1
n321=          }
n322=          inc %count2 1
n323=        }
n324=        inc %count 1
n325=      }
n326=    }
n327=    sockwrite -n $sockname : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) QUIT :Quit: $remove($gettok(%mircd,2-,32),$left($gettok(%mircd,2-,32),1))
n328=    write -ds $+ $remove($hfind($sockname,nick:*,1,w),nick:) nicks.txt
n329=    var %count 1
n330=    while $hfind($sockname,channel:*,%count,w) != $null {
n331=      set -u2 %users $remove($hfind($hget($remove($hfind($sockname,channel:*,%count,w),channel:)),users:*,1,w),users:)
n332=      hdel -w $remove($hfind($sockname,channel:*,%count,w),channel:) users:*
n333=      hdel $remove($hfind($sockname,channel:*,%count,w),channel:) user: $+ $remove($hfind($sockname,nick:*,1,w),nick:)
n334=      hadd $remove($hfind($sockname,channel:*,%count,w),channel:) users: $+ $calc(%users - 1)
n335=      if $remove($hfind($remove($hfind($sockname,channel:*,%count,w),channel:),users:*,1,w),users:) == 0 {
n336=        hfree $remove($hfind($sockname,channel:*,%count,w),channel:)
n337=      }
n338=      inc %count 1
n339=    }
n340=    hfree $sockname
n341=    sockclose $sockname
n342=  }
n343=  if WHOIS == $gettok(%mircd,1,32) && $gettok(%mircd,1,32) != $null {
n344=    var %count 1
n345=    unset %chans
n346=    while $hget(%count) != $null {
n347=      if $gettok(%mircd,2,32) == $remove($hfind($hget(%count),nick:*,1,w),nick:) {
n348=        sockwrite -n $sockname : $+ [ %mircd.ip ] 311 $remove($hfind($hget(%count),nick:*,1,w),nick:) $gettok(%mircd,2,32) $gettok($remove($hfind($hget(%count),host:*,1,w),host:),1,64) $gettok($remove($hfind($hget(%count),host:*,1,w),host:),2,64) * : $+ $replace($remove($hfind($hget(%count),realname:*,1,w),realname:),^^^,$chr(32))
n349=        if $hfind($hget(%count),channel:*,1,w) != $null {
n350=          var %count2 1
n351=          while $hfind($hget(%count),channel:*,%count2,w) != $null && $hfind($hget(%count),channel:*,%count2,w) != 0 {
n352=            if [ %chans ] == $null {
n353=              set %chans $remove($hfind($hget(%count),channel:*,%count2,w),channel:)
n354=            }
n355=            else {
n356=              set %chans [ %chans ] $remove($hfind($hget(%count),channel:*,%count2,w),channel:)
n357=            }
n358=
n359=            inc %count2 1
n360=          }
n361=          sockwrite -n $sockname : $+ [ %mircd.ip ] 319 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) : $+ [ %chans ]
n362=        }
n363=        sockwrite -n $sockname : $+ [ %mircd.ip ] 312 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) :mIRCD Server - Sockets Rule!
n364=        if $hfind($hget(%count),away:*,1,w) != $null {
n365=          sockwrite -n $sockname : $+ [ %mircd.ip ] 301 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) : $+ $replace($remove($hfind($hget(%count),away:*,1,w),away:),^^^,$chr(32))
n366=        }
n367=        sockwrite -n $sockname : $+ [ %mircd.ip ] 318 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) :End of /WHOIS list.
n368=        %count = 10000
n369=      }
n370=      elseif $hget($calc(%count + 1)) == $null {
n371=        sockwrite -n $sockname : $+ [ %mircd.ip ] 401 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) :No such nick/channel
n372=        sockwrite -n $sockname : $+ [ %mircd.ip ] 318 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) :End of /WHOIS list.   
n373=      }
n374=      inc %count 1
n375=    }
n376=  }
n377=  if JOIN == $gettok(%mircd,1,32) {
n378=    if ,# isin $gettok(%mircd,2,32) {
n379=      set %chans $replace($gettok(%mircd,2,32),$chr(44),$chr(32))
n380=      set %c 1
n381=      while $gettok(%chans,%c,32) != $null {
n382=        set %chan $gettok(%chans, %c, 32)
n383=        sockwrite -n $sockname : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) JOIN : $+ %chan
n384=        hadd $sockname channel: $+ %chan
n385=        if $hget(%chan) == $null {
n386=          hmake %chan
n387=          hadd %chan user: $+ $remove($hfind($sockname,nick:*,1,w),nick:)
n388=          hadd %chan users:1
n389=        }
n390=        else {
n391=          hadd %chan user: $+ $remove($hfind($sockname,nick:*,1,w),nick:)
n392=          var %users $remove($hfind(%chan,users:*,1,w),users:)
n393=          hdel -w %chan users:*
n394=          hadd %chan users: $+ $calc(%users + 1)
n395=          var %count 1
n396=          while $hfind(%chan,user:*,%count,w) != $null {
n397=            if $remove($hfind(%chan,user:*,%count,w),user:) != $remove($hfind($sockname,nick:*,1,w),nick:) {
n398=              var %count2 1
n399=              while %count2 <= 10000 {
n400=                if $remove($hfind($hget(%count2),nick:*,1,w),nick:) == $remove($hfind(%chan,user:*,%count,w),user:) {
n401=                  sockwrite -n $remove($hfind($hget(%count2),id:*,1,w),id:) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) JOIN : $+ %chan
n402=                  %count2 = 10000
n403=                }
n404=                inc %count2 1
n405=              }
n406=            }        
n407=            inc %count 1
n408=          }
n409=          var %count 1
n410=          unset %users*
n411=          while %count <= [ %mircd.maxusers ] {
n412=            if [ %users.temp ] == $null {
n413=              set -u2 %users.temp $remove($hfind(%chan,user:*,%count,w),user:)
n414=            }
n415=            else {
n416=              set -u2 %users.temp [ %users.temp ] $remove($hfind(%chan,user:*,%count,w),user:)
n417=            }
n418=            inc %count 1
n419=          }
n420=          sockwrite -n $sockname : $+ [ %mircd.ip ] 353 $remove($hfind($sockname,nick:*,1,w),nick:) [ $chr(64) ] [ %chan ] : $+ [ %users.temp ]
n421=          sockwrite -n $sockname : $+ [ %mircd.ip ] 366 $remove($hfind($sockname,nick:*,1,w),nick:) [ %chan ] :End of /NAMES list.
n422=        }
n423=        inc %c 1
n424=      }
n425=      unset %c*
n426=    }
n427=    else {
n428=      if $left($gettok(%mircd,2,32),1) != $chr(35) {
n429=        var %chan $chr(35) $+ $gettok(%mircd,2,32)
n430=      }
n431=      else {
n432=        var %chan $gettok(%mircd,2,32)
n433=      }
n434=      sockwrite -n $sockname : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) JOIN : $+ %chan
n435=      hadd $sockname channel: $+ %chan
n436=      if $hget(%chan) == $null {
n437=        hmake %chan
n438=        hadd %chan user: $+ $remove($hfind($sockname,nick:*,1,w),nick:)
n439=        hadd %chan users:1
n440=      }
n441=      else {
n442=        hadd %chan user: $+ $remove($hfind($sockname,nick:*,1,w),nick:)
n443=        var %users $remove($hfind(%chan,users:*,1,w),users:)
n444=        hdel -w %chan users:*
n445=        hadd %chan users: $+ $calc(%users + 1)
n446=        var %count 1
n447=        while $hfind(%chan,user:*,%count,w) != $null {
n448=          if $remove($hfind(%chan,user:*,%count,w),user:) != $remove($hfind($sockname,nick:*,1,w),nick:) {
n449=            var %count2 1
n450=            while %count2 <= 10000 {
n451=              if $remove($hfind($hget(%count2),nick:*,1,w),nick:) == $remove($hfind(%chan,user:*,%count,w),user:) {
n452=                sockwrite -n $remove($hfind($hget(%count2),id:*,1,w),id:) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) JOIN : $+ %chan
n453=                %count2 = 10000
n454=              }
n455=              inc %count2 1
n456=            }
n457=          }        
n458=          inc %count 1
n459=        }
n460=        var %count 1
n461=        unset %users
n462=        while %count <= [ %mircd.maxusers ] {
n463=          if [ %users.temp ] == $null {
n464=            set -u2 %users.temp $remove($hfind(%chan,user:*,%count,w),user:)
n465=          }
n466=          else {
n467=            set -u2 %users.temp [ %users.temp ] $remove($hfind(%chan,user:*,%count,w),user:)
n468=          }
n469=          inc %count 1
n470=        }
n471=        sockwrite -n $sockname : $+ [ %mircd.ip ] 353 $remove($hfind($sockname,nick:*,1,w),nick:) [ $chr(64) ] [ %chan ] : $+ [ %users.temp ]
n472=        sockwrite -n $sockname : $+ [ %mircd.ip ] 366 $remove($hfind($sockname,nick:*,1,w),nick:) [ %chan ] :End of /NAMES list.
n473=      }
n474=    }
n475=  }
n476=  if PART == $gettok(%mircd,1,32) {
n477=    if ,# isin $gettok(%mircd,2,32) {
n478=      set %chans $replace($gettok(%mircd,2,32),$chr(44),$chr(32))
n479=      set %c 1
n480=      while $gettok(%chans,%c,32) != $null {
n481=        set %chan $gettok(%chans, %c, 32)
n482=        if $hget(%chan) != $null {
n483=          hdel %chan user: $+ $remove($hfind($sockname,nick:*,1,w),nick:)
n484=          var %users $remove($hfind(%chan,users:*,1,w),users:)
n485=          hdel -w %chan users:*
n486=          hadd %chan users: $+ $calc(%users - 1) 
n487=          if $remove($hfind(%chan,users:*,1,w),users:) == 0 {
n488=            hfree %chan
n489=          }
n490=          sockwrite -n $sockname : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) PART : $+ %chan
n491=          hdel $sockname channel: $+ %chan
n492=          var %count 1
n493=          while $hfind(%chan,user:*,%count,w) != $null {
n494=            var %count2 1
n495=            while %count2 <= 10000 {
n496=              if $remove($hfind($hget(%count2),nick:*,1,w),nick:) == $remove($hfind(%chan,user:*,%count,w),user:) {
n497=                sockwrite -n $hget(%count2) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) PART : $+ %chan
n498=                %count2 = 10000
n499=              }
n500=              inc %count2 1
n501=            }
n502=            inc %count 1
n503=          }
n504=        }
n505=        inc %c 1
n506=      }
n507=      unset %c*
n508=    }
n509=    else {
n510=      if $left($gettok(%mircd,2,32),1) != $chr(35) {
n511=        var %chan $chr(35) $+ $gettok(%mircd,2,32)
n512=      }
n513=      else {
n514=        var %chan $gettok(%mircd,2,32)
n515=      }
n516=      if $hget(%chan) != $null {
n517=        hdel %chan user: $+ $remove($hfind($sockname,nick:*,1,w),nick:)
n518=        var %users $remove($hfind(%chan,users:*,1,w),users:)
n519=        hdel -w %chan users:*
n520=        hadd %chan users: $+ $calc(%users - 1) 
n521=        if $remove($hfind(%chan,users:*,1,w),users:) == 0 {
n522=          hfree %chan
n523=        }
n524=        sockwrite -n $sockname : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) PART : $+ %chan
n525=        hdel $sockname channel: $+ %chan
n526=        var %count 1
n527=        while $hfind(%chan,user:*,%count,w) != $null {
n528=          var %count2 1
n529=          while %count2 <= 10000 {
n530=            if $remove($hfind($hget(%count2),nick:*,1,w),nick:) == $remove($hfind(%chan,user:*,%count,w),user:) {
n531=              sockwrite -n $hget(%count2) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) PART : $+ %chan
n532=              %count2 = 10000
n533=            }
n534=            inc %count2 1
n535=          }
n536=          inc %count 1
n537=        }
n538=      }
n539=    }
n540=  }
n541=  if PRIVMSG == $gettok(%mircd,1,32) {
n542=    if ,# isin $gettok(%mircd,2,32) {
n543=      set %chans $replace($gettok(%mircd,2,32),$chr(44),$chr(32))
n544=      set %c 1
n545=      while $gettok(%chans,%c,32) != $null {
n546=        set %chan $gettok(%chans, %c, 32)
n547=        if $left(%chan,1) == $chr(35) { 
n548=          if $remove($hfind(%chan,users:*,1,w),users:) > 1 {
n549=            var %count 1
n550=            while $hfind(%chan,user:*,%count,w) != $null {
n551=              if $remove($hfind(%chan,user:*,%count,w),user:) != $remove($hfind($sockname,nick:*,1,w),nick:) { 
n552=                var %count2 1
n553=                while %count2 <= 10000 {
n554=                  if $remove($hfind($hget(%count2),nick:*,1,w),nick:) == $remove($hfind(%chan,user:*,%count,w),user:) {
n555=                    sockwrite -n $hget(%count2) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) PRIVMSG [ %chan ] $gettok(%mircd,3-,32)
n556=                    %count2 = 10000
n557=                  }
n558=                  inc %count2 1
n559=                }
n560=              }
n561=              inc %count 1
n562=            }
n563=          }
n564=        }
n565=        else {
n566=          var %count 1
n567=          while %count <= 10000 {
n568=            if $remove($hfind($hget(%count),nick:*,1,w),nick:) == %chan {
n569=              sockwrite -n $hget(%count) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) PRIVMSG [ %chan ] $gettok(%mircd,3-,32)
n570=              %count = 10000
n571=            }
n572=            inc %count 1
n573=          }
n574=        }
n575=        inc %c 1
n576=      }
n577=      unset %c %chan %chans
n578=    }
n579=    else {
n580=      if $left($gettok(%mircd,2,32),1) == $chr(35) { 
n581=        if $remove($hfind($gettok(%mircd,2,32),users:*,1,w),users:) > 1 {
n582=          var %count 1
n583=          while $hfind($gettok(%mircd,2,32),user:*,%count,w) != $null {
n584=            if $remove($hfind($gettok(%mircd,2,32),user:*,%count,w),user:) != $remove($hfind($sockname,nick:*,1,w),nick:) { 
n585=              var %count2 1
n586=              while %count2 <= 10000 {
n587=                if $remove($hfind($hget(%count2),nick:*,1,w),nick:) == $remove($hfind($gettok(%mircd,2,32),user:*,%count,w),user:) {
n588=                  sockwrite -n $hget(%count2) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) PRIVMSG $gettok(%mircd,2,32) $gettok(%mircd,3-,32)
n589=                  %count2 = 10000
n590=                }
n591=                inc %count2 1
n592=              }
n593=            }
n594=            inc %count 1
n595=          }
n596=        }
n597=      }
n598=      else {
n599=        if , isin $gettok(%mircd,2,32) {
n600=          set %nicks $replace($gettok(%mircd,2,32),$chr(44),$chr(32))
n601=          set %c 1
n602=          while $gettok(%nicks,%c,32) != $null {
n603=            set %nick $gettok(%nicks,%c,32)
n604=            var %count 1
n605=            while $hget(%count) != $null {
n606=              if [ %nick ] == $remove($hfind($hget(%count),nick:*,1,w),nick:) {
n607=                sockwrite -n $hget(%count) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) PRIVMSG [ %nick ] $gettok(%mircd,3-,32)
n608=                %count = 10000
n609=              }
n610=              inc %count 1
n611=            }
n612=            inc %c 1
n613=          }
n614=          unset %c %nick %nicks
n615=        }
n616=        else {
n617=          var %count 1
n618=          while %count <= 10000 {
n619=            if $remove($hfind($hget(%count),nick:*,1,w),nick:) == $gettok(%mircd,2,32) {
n620=              sockwrite -n $hget(%count) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) PRIVMSG $gettok(%mircd,2,32) $gettok(%mircd,3-,32)
n621=              %count = 10000
n622=            }
n623=            inc %count 1
n624=          }
n625=        }
n626=      }
n627=    }
n628=  }
n629=  if MOTD == $gettok(%mircd,1,32) {
n630=    set -u2 %sock $sockname
n631=    motd
n632=  }
n633=  if USERS == $gettok(%mircd,1,32) {
n634=    var %count 1
n635=    set -u2 %users 0
n636=    while $hget(%count) != $null {
n637=      if $left($hget(%count),1) != $chr(35) {
n638=        inc %users 1
n639=      }
n640=      inc %count 1
n641=    }
n642=    sockwrite -n $sockname : $+ [ %mircd.ip ] 265 $remove($hfind($sockname,nick:*,1,w),nick:) :Current local users: [ %users ] Max: [ %mircd.maxusers ]
n643=  }
n644=  if VERSION == $gettok(%mircd,1,32) {
n645=    sockwrite -n $sockname : $+ [ %mircd.ip ] 351 $remove($hfind($sockname,nick:*,1,w),nick:) : $+ mIRCD v1.0 [ $chr(64) ] $remove($hfind($sockname,server:*,1,w),server:) by linel0k
n646=  }
n647=  if ADMIN == $gettok(%mircd,1,32) {
n648=    sockwrite -n $sockname : $+ [ %mircd.ip ] 256 $remove($hfind($sockname,nick:*,1,w),nick:) :Administrative info about [ %mircd.ip ]
n649=    sockwrite -n $sockname : $+ [ %mircd.ip ] 257 $remove($hfind($sockname,nick:*,1,w),nick:) : $+ [ %mircd.admin.location ]
n650=    sockwrite -n $sockname : $+ [ %mircd.ip ] 258 $remove($hfind($sockname,nick:*,1,w),nick:) :Admin - [ %mircd.admin.name ]  $+ ( $+ [ %mircd.admin.email ] $+ )
n651=  }
n652=  if NOTICE == $gettok(%mircd,1,32) {
n653=    if $left($gettok(%mircd,2,32),1) == $chr(35) { 
n654=      if $remove($hfind($gettok(%mircd,2,32),users:*,1,w),users:) > 1 {
n655=        var %count 1
n656=        while $hfind($gettok(%mircd,2,32),user:*,%count,w) != $null {
n657=          if $remove($hfind($gettok(%mircd,2,32),user:*,%count,w),user:) != $remove($hfind($sockname,nick:*,1,w),nick:) { 
n658=            var %count2 1
n659=            while %count2 <= 10000 {
n660=              if $remove($hfind($hget(%count2),nick:*,1,w),nick:) == $remove($hfind($gettok(%mircd,2,32),user:*,%count,w),user:) {
n661=                sockwrite -n $hget(%count2) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) NOTICE $gettok(%mircd,2,32) $gettok(%mircd,3-,32)
n662=                %count2 = 10000
n663=              }
n664=              inc %count2 1
n665=            }
n666=          }
n667=          inc %count 1
n668=        }
n669=      }
n670=    }
n671=    else {
n672=      var %count 1
n673=      while %count <= 10000 {
n674=        if $remove($hfind($hget(%count),nick:*,1,w),nick:) == $gettok(%mircd,2,32) {
n675=          sockwrite -n $hget(%count) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) NOTICE $gettok(%mircd,2,32) $gettok(%mircd,3-,32)
n676=          %count = 10000
n677=        }
n678=        inc %count 1
n679=      }
n680=    }
n681=  }
n682=  if LIST == $gettok(%mircd,1,32) {
n683=    sockwrite -n $sockname : $+ [ %mircd.ip ] 321 $remove($hfind($sockname,nick:*,1,w),nick:) :Channel Users Name
n684=    set %count 1
n685=    while $hget(%count) != $null {
n686=      if $chr(35) == $left($hget(%count),1) {
n687=        sockwrite -n $sockname : $+ [ %mircd.ip ] 322 $remove($hfind($sockname,nick:*,1,w),nick:) $hget(%count) $remove($hfind($hget(%count),users:*,1,w),users:) : $+ $iif($hfind($hget(%count),topic:*,1,w),$replace($remove($hfind($hget(%count),topic:*,1,w),topic:),^^^,$chr(32)))
n688=      }
n689=      inc %count 1
n690=    }
n691=    sockwrite -n $sockname : $+ [ %mircd.ip ] 323 $remove($hfind($sockname,nick:*,1,w),nick:) :End of /LIST
n692=  }
n693=  if TOPIC == $gettok(%mircd,1,32) && $chr(35) == $left($gettok(%mircd,2,32),1) && $gettok(%mircd,3,32) != $null {
n694=    if $remove($hfind($gettok(%mircd,2,32),users:*,1,w),users:) > 1 {
n695=      var %count 1
n696=      while $hfind($gettok(%mircd,2,32),user:*,%count,w) != $null {
n697=        if $remove($hfind($gettok(%mircd,2,32),user:*,%count,w),user:) != $remove($hfind($sockname,nick:*,1,w),nick:) { 
n698=          var %count2 1
n699=          while %count2 <= 10000 {
n700=            if $remove($hfind($hget(%count2),nick:*,1,w),nick:) == $remove($hfind($gettok(%mircd,2,32),user:*,%count,w),user:) {
n701=              sockwrite -n $hget(%count2) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) TOPIC $gettok(%mircd,2,32) $gettok(%mircd,3-,32)
n702=              %count2 = 10000
n703=            }
n704=            inc %count2 1
n705=          }
n706=        }
n707=        inc %count 1
n708=      }
n709=    }
n710=    sockwrite -n $sockname : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) TOPIC $gettok(%mircd,2,32) $gettok(%mircd,3-,32)
n711=    hdel -w $gettok(%mircd,2,32) topic:*
n712=    hadd $gettok(%mircd,2,32) topic: $+ $replace($remove($gettok(%mircd,3-,32),$left($gettok(%mircd,3,32),1)),$chr(32),^^^)
n713=  }
n714=  if AWAY == $gettok(%mircd,1,32) {
n715=    if $gettok(%mircd,2,32) != $null {
n716=      hdel -w $sockname away:*
n717=      hadd $sockname away: $+ $replace($remove($gettok(%mircd,2-,32),$left($gettok(%mircd,2,32),1)),$chr(32),^^^)
n718=      sockwrite -nt $sockname : $+ [ %mircd.ip ] 306 $remove($hfind($sockname,nick:*,1,w),nick:) :You have been marked as being away
n719=    }
n720=    else {
n721=      hdel -w $sockname away:*
n722=      sockwrite -nt $sockname : $+ [ %mircd.ip ] 305 $remove($hfind($sockname,nick:*,1,w),nick:) :You are no longer marked as being away
n723=    }
n724=  }
n725=  if INVITE == $gettok(%mircd,1,32) && $gettok(%mircd,2,32) != $null && $gettok(%mircd,3,32) != $null && $chr(35) == $left($gettok(%mircd,3,32),1) {
n726=    var %count 1
n727=    if $hfind($gettok(%mircd,3,32),user: $+ $remove($hfind($sockname,nick:*,1,w),nick:),1) != $null {
n728=      unset %sock
n729=      var %count 1
n730=      unset %mircd.flag
n731=      while $hget(%count) != $null {
n732=        if $gettok(%mircd,2,32) != $remove($hfind($hget(%count),nick:*,1,w),nick:) {
n733=          set %mircd.flag 1
n734=        }  
n735=        else {
n736=          unset %mircd.flag
n737=          set %sock [ %count ]
n738=          %count = 10000
n739=        }
n740=        inc %count 1
n741=      }
n742=      if [ %mircd.flag ] == $null {
n743=        var %count 1
n744=        while $hfind($gettok(%mircd,3,32),user:*,%count,w) != $null {
n745=          if $gettok(%mircd,2,32) != $remove($hfind($gettok(%mircd,3,32),user:*,%count,w),user:) {
n746=            unset %mircd.flag
n747=          }
n748=          else {
n749=            set %mircd.flag 1
n750=            %count = 10000
n751=          }
n752=          inc %count 1
n753=        }
n754=        if %mircd.flag == $null {
n755=          sockwrite -n $sockname : $+ [ %mircd.ip ] 341 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) $gettok(%mircd,3,32)
n756=          sockwrite -n $hget(%sock) : $+ $remove($hfind($sockname,nick:*,1,w),nick:) $+ ! $+ $remove($hfind($sockname,host:*,1,w),host:) INVITE $gettok(%mircd,2,32) $gettok(%mircd,3,32)
n757=        }
n758=        else {
n759=          sockwrite -n $sockname : $+ [ %mircd.ip ] 443 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) $gettok(%mircd,3,32) :is already on channel
n760=        }
n761=      }
n762=      else {
n763=        sockwrite -n $sockname : $+ [ %mircd.ip ] 401 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) :No such nick/channel
n764=      }
n765=    }
n766=    else {
n767=      sockwrite -n $sockname : $+ [ %mircd.ip ] 442 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,3,32) :You're not on that channel
n768=    }
n769=    unset %sock
n770=  }
n771=  if NAMES == $gettok(%mircd,1,32) && $gettok(%mircd,2,32) != $null && $chr(35) == $left($gettok(%mircd,2,32),1) {
n772=    var %count 1
n773=    unset %users*
n774=    while %count <= [ %mircd.maxusers ] {
n775=      if [ %users.temp ] == $null {
n776=        set -u2 %users.temp $remove($hfind($gettok(%mircd,2,32),user:*,%count,w),user:)
n777=      }
n778=      else {
n779=        set -u2 %users.temp [ %users.temp ] $remove($hfind($gettok(%mircd,2,32),user:*,%count,w),user:)
n780=      }
n781=      inc %count 1
n782=    }
n783=    if [ %users.temp ] != $null {
n784=      sockwrite -n $sockname : $+ [ %mircd.ip ] 353 $remove($hfind($sockname,nick:*,1,w),nick:) [ $chr(64) ] $gettok(%mircd,2,32) : $+ [ %users.temp ]
n785=    }
n786=    sockwrite -n $sockname : $+ [ %mircd.ip ] 366 $remove($hfind($sockname,nick:*,1,w),nick:) $gettok(%mircd,2,32) :End of /NAMES list.
n787=    unset %users*
n788=  }
n789=}
n790=
n791=on *:socklisten:mircd: {
n792=  var %count 1
n793=  set -u2 %users 0
n794=  while $hget(%count) != $null {
n795=    if $left($hget(%count),1) != $chr(35) {
n796=      inc %users 1
n797=    }
n798=    inc %count 1
n799=  }
n800=  if [ %users ] < [ %mircd.maxusers ] && [ %users ] != 0 {
n801=    %count = 1
n802=    set -u3 %sock mircduser $+ $rand(1,999)
n803=    while $hget(%count) != $null {
n804=      if $chr(35) != $left($hget(%count),1) {
n805=        if [ %sock ] == $hget(%count) {
n806=          set -u3 %sock ircduser $+ $rand(1,999)
n807=          %count = 1
n808=        }
n809=        else {
n810=          inc %count 1
n811=          if $hget(%count) == $null {
n812=            sockaccept %sock
n813=          }
n814=        }
n815=      }
n816=      else {
n817=        inc %count 1
n818=        if $hget(%count) == $null {
n819=          sockaccept %sock
n820=        }
n821=      }
n822=    }
n823=  }
n824=  elseif [ %users ] == 0 {
n825=    sockaccept mircduser $+ $rand(1,999)
n826=  }
n827=}
n828=
n829=alias welcome {
n830=  sockwrite -n %sock : $+ [ %mircd.ip ] 001 $remove($hfind(%sock,nick:*,1,w),nick:) :Welcome to the mIRCD IRC Network $remove($hfind(%sock,nick:*,1,w),nick:) $+ ! $+ $remove($hfind(%sock,host:*,1,w),host:)
n831=  sockwrite -n %sock : $+ [ %mircd.ip ] 002 $remove($hfind(%sock,nick:*,1,w),nick:) :Your host is $remove($hfind(%sock,server:*,1,w),server:) running mIRCD v1.0
n832=  sockwrite -n %sock : $+ [ %mircd.ip ] 003 $remove($hfind(%sock,nick:*,1,w),nick:) :This server was created 2/8/04
n833=  var %count 1
n834=  unset %users
n835=  unset %chans
n836=  set -u2 %users 0
n837=  set -u2 %chans 0
n838=  while $hget(%count) != $null {
n839=    if $left($hget(%count),1) == $chr(35) {
n840=      inc %chans 1
n841=    }
n842=    else {
n843=      inc %users 1
n844=    }
n845=    inc %count 1
n846=  }
n847=  if [ %chans ] == 0 || [ %chans ] > 1 {
n848=    sockwrite -n %sock : $+ [ %mircd.ip ] 254 $remove($hfind(%sock,nick:*,1,w),nick:) : $+ [ %chans ] channels formed
n849=  }
n850=  elseif [ %chans ] == 1 {
n851=    sockwrite -n %sock : $+ [ %mircd.ip ] 254 $remove($hfind(%sock,nick:*,1,w),nick:) : $+ [ %chans ] channel formed
n852=  }
n853=  sockwrite -n %sock : $+ [ %mircd.ip ] 265 $remove($hfind(%sock,nick:*,1,w),nick:) :Current local users: [ %users ] Max: [ %mircd.maxusers ]
n854=  motd
n855=}
n856=
n857=alias motd {
n858=  sockwrite -n %sock : $+ [ %mircd.ip ] 375 $remove($hfind(%sock,nick:*,1,w),nick:) :- [ %mircd.ip ] Message of the Day -
n859=  sockwrite -n %sock : $+ [ %mircd.ip ] 372 $remove($hfind(%sock,nick:*,1,w),nick:) : $+ [ %mircd.motd ]
n860=  sockwrite -n %sock : $+ [ %mircd.ip ] 372 $remove($hfind(%sock,nick:*,1,w),nick:) :Commands you can use:
n861=  sockwrite -n %sock : $+ [ %mircd.ip ] 372 $remove($hfind(%sock,nick:*,1,w),nick:) :NICK, QUIT, WHOIS, JOIN, PART, PRIVMSG, NOTICE, MOTD, USERS, NAMES
n862=  sockwrite -n %sock : $+ [ %mircd.ip ] 372 $remove($hfind(%sock,nick:*,1,w),nick:) :VERSION, ADMIN, LIST, TOPIC, AWAY, INVITE, AME, AMSG, QMSG
n863=  sockwrite -n %sock : $+ [ %mircd.ip ] 372 $remove($hfind(%sock,nick:*,1,w),nick:) :-
n864=  sockwrite -n %sock : $+ [ %mircd.ip ] 376 $remove($hfind(%sock,nick:*,1,w),nick:) :End of /MOTD command.
n865=}