@windows (whois

Résolu
Burner_king Messages postés 11 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 1 novembre 2007 - 1 nov. 2007 à 02:14
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 - 2 nov. 2007 à 12:12
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

 

15 réponses

cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
1 nov. 2007 à 10:44
; 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)
}
3
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
1 nov. 2007 à 13:13
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
0
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
1 nov. 2007 à 14:02
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.

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

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. :)
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
1 nov. 2007 à 14:17
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
1 nov. 2007 à 14:27
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
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
1 nov. 2007 à 14:49
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
avi trés personel

ISoKa
0
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
1 nov. 2007 à 14:49
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)
0
Burner_king Messages postés 11 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 1 novembre 2007
1 nov. 2007 à 23:28
merci beaucoup a tous et particulierement a celui qu'il me la fais je voyait cela beaucoup plus simple encor merci
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
2 nov. 2007 à 00:55
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
0
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
2 nov. 2007 à 04:59
Tu n'es pas con ^^. Pour la simple et bonne raison que tu l'as dit TOI.

Les vrais cons , a mon avis, sont les personnes qui ne le savent pas. Alors la, c'est le bouquet. Lol

;o)
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
2 nov. 2007 à 08:55
Return -t ?

la drogue mirc est partout, certains par manque, commence même a inventé des parametres =)
0
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
2 nov. 2007 à 09:36
Mais non rho. C'est juste le contenu du return et non un parametre a la commande. Enfin c'est ambigue car peu importe ce que c'est, c'est considere comme un parametre ici et non comme un commutateur. C'est utilise dans la commande /Echo partout apres je crois. < Echo $W.Targ > avec Alias W.Targ { Return -t etc.. }.

Non, non je ne suis nullement drogue :p Si ?
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
2 nov. 2007 à 11:39
Ah ouais, du texte brut ok

Note : je crois que tu as un soucis avec le vocabulaire, tu entends quoi par commutateur ?
0
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
2 nov. 2007 à 11:58
J'utilise ce mot pour designer les 'switches' des commandes.

Exemple:
Dans la commande: </echo [couleur] [-deghiNtsaqlbfnmr] [#canal|[=]nick] <text>> les commutateurs sont: [-deghiNtsaqlbfnmr] et les parametres sont: [couleur] [#canal|[=]nick] <text>.
Enfin, c'est ce que je presume en utilisant chaque commande.

:o)
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
2 nov. 2007 à 12:12
Ouais ok c'est ce que jme disait.
Moi j'utilise le mot switch et paramètre... mais ce sont tous des paramètres
0
Rejoignez-nous