
;; Abmelden

raw 301:*: { 
  echo $color(whois text) -dmg > Hinweis: %wuser ist abgemeldet 
  echo $color(whois text) -dmg > Abmeldegrund: $3-
  halt
}
raw 305:*: {
  echo $color(normal text) -dmg - Du bist nun wieder da
  halt
}
raw 306:*: {
  echo $color(normal text) -dmg - Du bist nun abgemeldet
  halt
}

;; Whois Informationen

raw 311:*: {
  set %wuser $2 
  set %nident $3
  set %nhost $4
  set %wnochan moo
  /dns -46 %wuser

  echo $color(normal text) -dmg -
  echo $color(whois text) -dmg > /WHOIS von  $+ %wuser $+ ! 
  echo $color(whois text) -dmg > Echter Name: $6-
  echo $color(whois text) -dmg > Hostmask: %nident  $+ @ $+ %nhost
  halt
}
on 1:DNS:{
  var %n = $dns(0)
  var %ipv = 4
  while (%n > 0) {
    echo $color(whois text) -dmg > IP: $dns(%n).ip
    if ( : isin $dns(%n).ip ) {
      %ipv = 6
    } 
    echo $color(whois text) -dmg > IP-Typ: IPv $+ %ipv $+ !
    dec %n
  }
  if ( %n == $dns(0) ) {
    echo $color(whois text) -dmg > IP: Unbekannt
  }

}
raw 312:*: {
  if ( %wccnt != 0 ) {
    echo $color(whois text) -dmg > Channels gesamt: %wccnt
  }
  if ( %wcomchn != 0 ) {
    echo $color(whois text) -dmg > Gemeinsame Channels: %wcomchn
  }
  if ( %wop != 0 ) {
    echo $color(whois text) -dmg > Channels mit Modus +o: %wop
  }
  if ( %whop != 0 ) {
    echo $color(whois text) -dmg > Channels mit Modus +h: %whop
  }
  if ( %wv != 0 ) {
    echo $color(whois text) -dmg > Channels mit Modus +v: %wv
  }
  echo $color(whois text) -dmg > Server: $3 ( $+ $4- $+ )
  if ( %deaf ) {
    echo $color(whois text) -dmg > Hinweis: %wuser kann keine Channelnachrichten lesen (Benutzermodus +d) 
  }
  set %wop 0
  set %wv 0
  set %whop 0
  set %wccnt 0
  set %wcomchn 0
  halt
}
raw 313:*: {
  set %wircop 1
  echo $color(whois text) -dmg > Hinweis: %wuser ist ein IRC-Operator!
  halt
}
raw 317:*: {
  echo $color(whois text) -dmg > Inaktiv seit: $duration($3)
  if ( $4 isnum ) echo $color(whois text) -dmg > Eingeloggt seit: $asctime($4)
  halt
}
raw 318:*: {
  if ( %nhost ) {
    var %ipv
    var %wusermode
    if ( %wauth ) {
      %wusermode = %wusermode $+ r
    }  
    if ( %wircop ) {
      %wusermode = %wusermode $+ o
      if ( %wnochan ) {
        %wusermode = %wusermode $+ n
      }
    }
    elseif ( $comchan(%wuser,0) != 0 ) && ( %wnochan ) {
      %wusermode = %wusermode $+ n
    }
    else {
      if ( $ip( %nhost ) = 0.0.0.0 ) || ( $ip( %nhost ) = 205.234.179.173 ) {
        %wusermode = %wusermode $+ x
      }
      %ipv = 4
    }
    if ( %deaf ) {
      %wusermode = %wusermode $+ d
    }
    if ( %wusermode ) {
      echo $color(whois text) -dmg > Benutzermodus: + $+ %wusermode
    }

    echo $color(whois text) -dmg > Ende der /WHOIS Liste! 
    echo $color(normal text) -dmg -
    if ( %wnochan ) {
      unset %wnochan
    }
  }
  unset %wircop
  unset %wauth
  unset %deaf
  halt
}
raw 319:*: {
  unset %wnochan
  var %comchn = $comchan($2,0),%wchannels = $sorttok($3-,32,c),%wchn,%wchans,%wtmp
  while ( %wchannels ) {
    %wchn = $gettok(%wchannels,1,32)
    var %sta = $left(%wchn,1)
    set %deaf $NULL
    if ( %sta == - ) {
      %wchn = $right(%wchn,$calc($len(%wchn) - 1))
      %deaf = 1
      %sta = $left(%wchn,1)
    }
    var %i = 0
    %wtmp = %wchn
    if ( %sta == @ ) {
      inc %wop
      %wtmp = $right(%wtmp,$calc($len(%wtmp) - 1))
    }
    if ( %sta == + ) {
      inc %wv
      %wtmp = $right(%wtmp,$calc($len(%wtmp) - 1))
    }
    if ( %sta == % ) {
      inc %whop
      %wtmp = $right(%wtmp,$calc($len(%wtmp) - 1))
    }
    while ( %i < %comchn ) {
      inc %i
      if ( $comchan( $2, %i ) == %wtmp  ) {
        %wchn =  $+ %wchn $+ 
        inc %wcomchn
      } 
    }
    if ( %wtmp == $active ) {
      %wchn =  $+ %wchn $+ 
    }
    %wchans = %wchans %wchn
    %wchannels = $deltok(%wchannels,1,32) 
    inc %wccnt  
  }
  echo $color(whois text) -dmg > Befindet sich in folgenden Channels: %wchans
  halt 
}
raw 330:*: {
  set %wauth 1
  echo $color(whois text) -dmg > Registriert als: $3
  halt
}
raw 338:*: { 
  var %whost = $3,%wip = $4,%wident = $gettok(%whost,1,64),%wdns = $gettok(%whost,2,64)
  echo $color(whois text) -dmg > Echte Hostmask: %whost
  if ( %wident != %nident ) {
    echo $color(whois text) -dmg > Echter Ident: %wident
  }
  if ( %wdns != %wip ) {
    echo $color(whois text) -dmg > Echter DNS-Eintrag: %wdns 
  }
  echo $color(whois text) -dmg > Echte IP-Adresse: %wip
  halt 
}

;; Fehler

raw 401:*: { 
  echo $color(other text) -dmg - Fehler: Der Nickname $2 ist nicht vorhanden
  unset %nhost
  halt 
} 
raw 403:*: {
  var %pref = $left($2,1)
  if ( %pref == $chr(35) ) {
    echo $color(normal text) -dmg - Fehler: Der Channel $2 ist nicht vorhanden
  } 
  elseif ( %pref == $chr(38) ) { 
    echo $color(normal text) -dmg - Fehler: Der Privatchannel $2 ist nicht vorhanden
  }
  else {
    echo $color(normal text) -dmg - Fehler: Der Nickname $2 ist nicht vorhanden
  }
  halt 
}
raw 404:*: { 
  echo $color(normal text) -dmg - Fehler: Deine Nachricht konnte nicht den Channel $2 erreichen
  halt 
} 
raw 405:*: { 
  echo $color(normal text) -dmg - Fehler: Du konntest den Channel $2 nicht betreten (Zuviele Channels offen)
  halt 
}
raw 406:*: { 
  echo $color(normal text) -dmg - Fehler: Der Nickname $2 ist nicht vorhanden
  halt 
}
raw 421:*: { 
  if ( lag == $2 ) {
    msg %lag.chan Lag: $calc($ticks - %lag.sec) $+ ms
    halt
  }
  echo $color(normal text) -dmg - Fehler: Den Befehl / $+ $2 gibt es nicht
  halt 
}
raw 431:*: { 
  echo $color(normal text) -dmg - Fehler: Keinen Nicknamen angegeben
  halt 
}
raw 432:*: { 
  echo $color(normal text) -dmg - Fehler: Der Nickname $2 ist ungültig
  halt 
}
raw 433:*: { 
  echo $color(normal text) -dmg - Fehler: Der Nickname $2 wird bereits verwendet
  halt 
}
raw 442:*: { 
  echo $color(normal text) -dmg - Fehler: Du bist nicht im Channel $2
  halt 
}
raw 443:*: {
  echo $color(normal text) -dmg - Fehler: $2 befindet sich bereits im Channel $3
  halt
} 
raw 467:*: { 
  echo $color(normal text) -dmg - Fehler: Der Schlüssel für $2 ist bereits gesetzt
  halt
}
raw 471:*: { 
  echo $color(normal text) -dmg - Fehler: Kann den Channel $2 nicht betreten (Der Channel ist voll)
  halt 
}
raw 473:*: { 
  echo $color(normal text) -dmg - Fehler: Kann den Channel $2 nicht betreten (Einladung notwendig)
  halt
}
raw 474:*: { 
  echo $color(normal text) -dmg - Fehler: Kann den Channel $2 nicht betreten (Du bist gebannt)
  halt
}
raw 474:*: { 
  echo $color(normal text) -dmg - Fehler: Kann den Channel $2 nicht betreten (Schlüssel notwendig)
  halt
}
raw 477:*: { 
  echo $color(normal text) -dmg - Fehler: Kann den Channel $2 nicht betreten (Registrierung notwendig! - Mehr Details siehe ' $+ $gettok($3-, $numtok($3-,32) ,32) $+ ') 
  halt 
}
raw 479:*: { 
  echo $color(normal text) -dmg - Fehler: Kann den Channel $2 nicht betreten $6-
  halt 
}
raw 482:*: { 
  echo $color(normal text) -dmg - Fehler: Du hast keinen Operatorstatus im Channel $2
  halt
}
raw 485:*: { 
  echo $color(normal text) -dmg - Fehler: Du kannst diese Aktion an $2 nicht durchführen (Netzwerkservice)
  halt
}

;; Einladung

raw 341:*: { 
  echo $color(invite text) -dmgt * Du hast $2 in den Channel $3 eingeladen
  halt
}

;; Betreten eines Channels
raw 329:*: {
  echo $color(topic text) -t $2 * Channel erzeugt am: $asctime($3,dd.mm.yyyy hh:nn:ss)
  halt
}
raw 332:*: {
  echo $color(topic text) -t $2 * Thema ist ' $+ $3- $+ '
  halt
}
raw 333:*: {
  echo $color(topic text) -t $2 * Thema gesetzt von $3 am: $asctime($4,dd.mm.yyyy hh:nn:ss)
  halt
}

;; Sonstiges

raw 381:*: { 
  echo $color(info text) -dm - Du bist nun ein IRC Operator
  halt
}

raw 396:*: { 
  echo $color(join text) -dmt * $2 ist nun dein neuer Fakehost!
  halt
}

;;raw *:*:{
;;  echo -dmtc info $+([,$numeric,]) $2-
;} 

;; Betreten Verlassen
on ^*:JOIN:#: {
  var %jraw = $right($rawmsg,$calc($len($rawmsg) - 1)),%juser = $gettok(%jraw,1,32),%jchan = $chan,%jnick = $nick,%jhost = $gettok(%juser,2,33)
  echo $color(join text) -t %jchan * %jnick ( $+ %jhost $+ ) hat den Channel %jchan betreten
  if ( %jnick == $me ) {
    who %jchan
  }
  halt
}
on ^*:PART:#: {
  var %jraw = $right($rawmsg,$calc($len($rawmsg) - 1)),%juser = $gettok(%jraw,1,32),%jchan = $chan,%jreason = $1-,%jnick = $nick,%jhost = $gettok(%juser,2,33)
  if ( %jreason ) {
    %jreason = ( $+ %jreason $+ )
  }
  echo $color(join text) -t %jchan * %jnick ( $+ %jhost $+ ) hat den Channel %jchan verlassen %jreason
  halt
}
on ^*:NICK: {
  var %i = 0
  while ( %i < $comchan($newnick,0) ) {
    inc %i
    echo $color(nick text) -t $comchan($newnick,%i) * $nick heißt nun $newnick
  }
  halt
}
on ^*:QUIT: {
  var %i = 0,%cchn,%jreason = $1-,%jnck,%jraw = $right($rawmsg,$calc($len($rawmsg) - 1)),%juser = $gettok(%jraw,1,32),%jchan = $chan,%jnick = $gettok(%juser,1,33),%jhost = $gettok(%juser,2,33)
  if ( %jreason ) {
    %jreason = ( $+ %jreason $+ )
  }
  while ( %i < $comchan(%jnick,0) ) {
    inc %i
    %cchn = $comchan(%jnick,%i)
    if ( %jnick isop %cchn ) {
      %jnck = @ $+ %jnick
    }
    elseif ( %jnick ishop %cchn ) {
      %jnck = % $+ %jnick
    }
    elseif ( %jnick isvoice %cchn ) {
      %jnck = + $+ %jnick
    } 
    else {
      %jnck = %jnick
    }
    echo $color(quit text) -t %cchn * %jnck ( $+ %jhost $+ ) hat sich ausgeloggt %jreason
  }
  if ( %jnick == %wlsprotnick ) {
    nick %wlsprotnick
    serverconnection
  }
  halt
}


on ^*:KICK:#: {
  echo $color(kick text) -t # * $knick wurde von $nick aus dem Channel # gekickt ( $+ $1- $+ )
  if ( $knick == $me ) {
    echo $color(kick text) -dmt * $nick hat Dich aus dem Channel # gekickt ( $+ $1- $+ )
  }
  halt
}
on ^*:INVITE:#: {
  var %jraw = $right($rawmsg,$calc($len($rawmsg) - 1)),%juser = $gettok(%jraw,1,32),%jchan = $chan,%jnick = $gettok(%juser,1,33),%jhost = $gettok(%juser,2,33)
  echo $color(invite text) -dmgt * %jnick ( $+ %jhost $+ ) hat Dich in den Channel %jchan eingeladen
  halt
}
;; Thema
on ^*:TOPIC:#: {
  echo $color(topic text) -t # * $nick setzt das Thema auf ' $+ $1- $+ '
  halt
}

;; Modus
on ^*:RAWMODE:#: {
  echo $color(mode text) -t # * $nick setzt Modus: $1-
  halt
}
on ^*:USERMODE: {
  echo $color(mode text) -dmt * $nick setzt den Benutzermodus: $1-
  halt
}
