
TropNul
|
Réponse acceptée !
; WHOIS ; TropNul:01.11.2007
On !*:Join:*:{ WhoisInit | WhoisWin If !$hget(whois,$nick) { .Timer 1 5 Whois $nick $nick HAdd whois $nick whoising } } On *:Quit:{ WhoisDel $nick }
On *:Connect:{ WhoisInit | WhoisWin } On *:Load:{ WhoisInit | WhoisWin } On *:Start:{ WhoisInit | WhoisWin }
On *:Exit:WhoisFree On *:DisConnect:WhoisFree On *:UnLoad:WhoisFree
RAW 301:*:{ Echo $W.Targ Away: $2 $3- | Halt } RAW 311:*:{ Echo $W.Targ Whois on $2 Echo $W.Targ Nickname: $2 Realname: $6- Echo $W.Targ Address: $+($3,@,$4) $iif($WhoisClones($2),Clones $+($chr(40),$chr(32),$active,$chr(32),$chr(41)) $+ : $ifmatch) Halt } RAW 312:*:{ Echo $W.Targ Server: $3 $4- | Halt } RAW 313:*:{ Echo $W.Targ IrcOp: Yes RawMsg: $1- | Halt } RAW 317:*:{ Echo $W.Targ Connected on: $asctime($4,dddd dd mmmm yyyy) At $asctime($4,HH:nn:ss) Echo $W.Targ Connection time: $duration($calc($ctime - $4)) Idle: $duration($3) Halt } RAW 318:*:{ Echo $W.Targ End of Whois on $2 WhoisDel $2 | Halt } RAW 319:*:{ Var %Chans = $3- , %iCh = 1 , %NComChn = $comchan($2,0) , %NChn = $numtok(%Chans,32) While (%iCh <= %NChn) { If (s isin $chan($remove($gettok(%Chans,%iCh,32),@,+)).mode) { %Chans = $replace(%Chans,$gettok(%Chans,%iCh,32),S $+ $gettok(%Chans,%iCh,32)) } Inc %iCh } Var %WhoIsCommChn = $chr(40) $+ %NChn $+ $chr(58) $+ $iif(%NComChn == 0,$v2,$v1) $+ $chr(41) Echo $W.Targ Channels %WhoIsCommChn $+ : $WhoisChnCommB($2,$WhoisChnLst(%Chans)) Halt } RAW 320:*:{ Echo $W.Targ Real Host: $3 | Halt } RAW 327:*:{ Echo $W.Targ Host behind proxy: *!*@ $+ $7 | Halt } RAW 328:*:{ Echo $W.Targ Host behind proxy: *!*@ $+ $8 | Halt } RAW 378:*:{ Echo $W.Targ Address $+($chr(40),-x,$chr(41),:)) $6- | Halt } RAW 379:*:{ Echo $W.Targ Modes: $6- } RAW 401:*:{ Echo $W.Targ $2 Not Connected WhoisDel $2 | Halt }
Alias -l WhoisDel { If $hget(whois,$1) { HDel whois $1 } } Alias -l WhoisInit { If !$hget(whois) { HMake whois } } Alias -l WhoisFree { If $hget(whois) { HFree whois } } Alias -l WhoisWin { If !$window(@whois) { Window -knz @whois } } Alias -l W.Targ { Return -t @whois }
; Locate Clones on $active
Alias -l WhoisClones { Var %i = 1 , %nck = $1 , %nicks , %addr = $address(%nck,2) If ($active ischan) { Var %chn = $v1 } Else { Return 0 } Var %ncl = $ialchan(%addr,%chn,0) If (%ncl < 2) { Return 0 } Else { While (%i <= %ncl) { %nicks = $iif(%nicks,%nicks $+($chr(3),12,>,$chr(3))) $gettok($ialchan(%addr,%chn,%i),1,33) Inc %i } Return $+($chr(3),12,%ncl,$chr(3)) %nicks } }
; Format Channel List
Alias -l WhoisChnLst { Var %ChnLs = $1- , %ChnFin = $null | Var %ChnEnd = $numtok(%ChnLs,32) , %ChnStr = 1 While (%ChnStr <= %ChnEnd) { Var %Chan = $gettok(%ChnLs,%ChnStr,32) NoOp $regex(%Chan,/^(([^\x23]*)(\x23[^$]*))$/i) If $regml(2) { Var %ChnFin = %ChnFin $+ $chr(32) $+ $replace($regml(2),@,$+($chr(3),04,@,$chr(3)),+,$+($chr(3),12,+,$chr(3)),S,$+($chr(3),14,S,$chr(3))) $+ $regml(3) } Else { Var %ChnFin = %ChnFin $+ $chr(32) $+ %Chan } Inc %ChnStr } Return %ChnFin }
; 'Highlight' Common Channels
Alias -l WhoisChnCommB { Var %ChnLs = $2- , %Nck = $1 | Var %ChnEnd = $comchan(%Nck,0) , %ChnStr = 1 If (%ChnEnd > 0) { While (%ChnStr <= %ChnEnd) { Var %ChnCom = $comchan(%Nck,%ChnStr) %ChnLs = $regsubex(%ChnLs,/( $+ %ChnCom $+ (\s|$))/i,$+($chr(3),05,\1,$chr(3))) Inc %ChnStr } } Return %ChnLs }
; Date Convertion
Alias -l DayMonthConv { Var %Day = $asctime($1,dddd) , %Mon = $asctime($1,mmmm) Var %DayEn = Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday Var %DayFr = Lundi|Mardi|Merdredi|Jeudi|Vendredi|Samedi|Dimanche Var %MonEn = January|February|March|April|May|June|July|August|September|October|November|December Var %MonFr = Janvier|Février|Mars|Avril|Mai|Juin|Juillet|Août|Septembre|Octobre|Novembre|Décembre If $regex(%Day,/( $+ %DayEn $+ )/) { %Day = $gettok(%DayFr,$findtok(%DayEn,$regml(1),1,124),124) } If $regex(%Mon,/( $+ %MonEn $+ )/) { %Mon = $gettok(%MonFr,$findtok(%MonEn,$regml(1),1,124),124) } Return %Day $asctime($1,dd) %Mon $asctime($1,yyyy) }
|