begin process at 2008 07 06 07:18:28
1 205 472 membres
51 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : @windows (whois [ Divers / Général ] (Burner_king)

@windows (whois le 01/11/2007 02:14:25

Burner_king
bonjour donc voila je cherche quelq'un qui peut m'aider ou me faire ...
Donc ce que je voudrais ces que quand une personne join un salon sont whois sois fais automatiquement et que le whois ce rende dans la fenetre @windows qui sintitulerais @whois voila j'espere avoir été claire merci de votre comprehention


 

Re : @windows (whois le 01/11/2007 10:44:03

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)
}

Re : @windows (whois le 01/11/2007 13:13:27

uaip
TropNul t'a fait un whois de luxe, là... ^^ j'espère au moins que c'était en mIRC que tu le voulais (non précisé dans ta demande).
sinon TropNul, t'aurais pas pu faire un truc plus simple ? sans htables. genre, quand le gars entre sur le salon, si la fenetre @whois n'est pas ouverte, ca l'ouvre, et après tu fais un whois "classique" avec echo @whois au lieu de echo -a. non ?

Honorine <3 /°/ www.uaipcreations.ovh.org

Re : @windows (whois le 01/11/2007 14:02:47

TropNul
Bah, la table de hashage est importante pour ce que j'en ai fait. Elle contient le pseudo qui est en processus de whois tant que le whois n'est pas termine. Cela va ainsi permettre de ne pas rewhois cette personne si elle join un autre salon commun alors qu'on a deja lance un whois sur elle. Ca aurait pu se faire avec des variables, je te l'accorde. Mais je prefere les tables de hashage.

Pour la commande < /echo >, il y'a un alias qui contient la cible de cette commande. Le voici:

Alias -l W.Targ { Return -t @whois }

Il suffit de configurer cet alias et hop.

[quote]
genre, quand le gars entre sur le salon, si la fenetre @whois n'est pas ouverte, ca l'ouvre,
[/quote]

Je fais cela avec l'alias suivant:
Alias -l WhoisWin { If !$window(@whois) { Window -knz @whois } }

J'aimerais aussi rajouter que je n'ai fait que reprendre le systeme de whois que j'avais dans mon script. J'y ai rajoute la gestion pour l'evenement join et l'utilisation de tables de hashage pour stocker les pseudonymes. Cela pour dire, que je n'ai pas de merite de l'avoir fait sur le coup de la question du forum ;), bien que c'est bien moi qui avait fait ce systeme de whois auparavant lol.

Je me rends aussi compte que j'ai inclus un alias en trop: " Alias -l DayMonthConv { ". Mais comme diraient certain(e)s, ca peut servir. :)

Re : @windows (whois le 01/11/2007 14:17:34

ISoKa
moi c'ke je kiff c'est si le mec essai de relire la source avant de la poser dans les remotes :x huhuhu. par contre dans le cas d'un retour d'un netsplit faire un whois on join ca va poser des ptis probs à mon avis :)

ISoKa

Re : @windows (whois le 01/11/2007 14:27:57

uaip
TropNul je t'accorde que ton code contient tout ce que j'ai dit. Mais ce que je parle se code en quelques lignes.
- vérification de l'existence de la fenetre et/ou ouverture (1 ligne)
- whois classique (environ 10 lignes)
ca éviterai un code aussi 'long'. Sinon je suis tout a fait d'accord sur le fait qu'il a l'air (pour ce que j'ai 'bien' lu) complet.

Honorine <3 /°/ www.uaipcreations.ovh.org

Re : @windows (whois le 01/11/2007 14:49:01

ISoKa
[/Avi trés personel]
en meme temps si il en avait un tout fait en remote perso j'aurai un peu fai pareil, un gentil C/C plutot que se prendre le choux à recoder
[/Fin avi trés personel]

ISoKa

Re : @windows (whois le 01/11/2007 14:49:37

TropNul
Exact uaip. Le truc c'est que chacun est libre de le modifier autant qu'il/elle le veut. Pour la longueur, il suffit d'enlever les alias et tout afficher normalement (j'aurais du le faire :|).

Bonne remarque isoka. Si vous me le demandez, je le commenterais ;). Tout est une question de temps. La j'en ai. ^^ Pour le cas du netsplit, faudra inclure un detecteur de netsplit (ou tout simplement un anti mass join) ... et la c'est uaip qui me dira que ca fera trop long .. :s

/me soupir :o)

Bande de perfectionnistes ! aaah ces codeurs (les vrai(e)s)

Re : @windows (whois le 01/11/2007 23:28:13

Burner_king
merci beaucoup a tous et particulierement a celui qu'il me la fais je voyait cela beaucoup plus simple encor merci





Re : @windows (whois le 02/11/2007 00:55:24

uaip
lol, je te l'ai dit, TropNul t'a fait un truc de Luxe :) [tant mieux]
sinon, ué, apparament je suis un des seuls a posséder un script merdique codé "a l'arrache" ^^ m'enfin, il en faut bien des cons, hein, il en faut bien !
bonne nuit :)

Honorine <3 /°/ www.uaipcreations.ovh.org


[Page 1 Page 2]
Classé sous : windows, whois

Participer à cet échange

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS