Systeme de whois

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 494 fois - Téléchargée 27 fois

Contenu du snippet

Bon, c'est un système de whois. JE SAIS: il y en beaucoup sur ce site, mais pourquoi pas un autre. Hm.. bref, au départ c'était une source qui comportait 3 TAB, mais jlai résumé en une seul: ce whois. De plus on m'aurait engueulé pour la taille du dialog, 1050 sur 450.. :p je l'ai raccourci. C'est donc un systeme de whois avec une nicklist du canal, il suffit de cliker sur un pseudo de la nicklist pour avoir les infos a droite de celui-ci.
Rien de plus a dire, à part que sur une fenêtre QUERY mon code ne marche pas, et dans la fenêtre Status Window bien entendu non plus.
J'ai mis un emplacement pour whoiser quelqu'un qui ne fait pas parti de la nicklist.

Source / Exemple :


alias f5 /i.chan
menu channel {
  .InfoGénérale:/i.chan
}
alias i.chan dialog -mv i.chan i.chan
dialog i.chan {
  title "Info"
  size -1 -1 820 460
  list 5 , 10 10 150 465
  box "Whois" , 6 , 170 5 450 450
  text , 7 , 300 30 200 15
  text , 8 , 179 50 100 15
  text , 9 , 179 95 400 15
  text , 11 , 179 95 55 15
  text , 12 , 179 220 230 15
  list 13 , 179 235 250 100 , drop
  text , 16 , 350 50 265 15
  text , 17 , 179 72 100 15
  text , 18 , 350 72 200 15
  text , 19 , 179 330 300 15
  text , 20 , 350 330 50 15
  list 21 , 179 110 250 100
  text , 22 , 179 355 300 15
  text , 23 , 350 355 200 15
  text , 24 , 179 380 250 15
  text , 25 , 350 380 50 15
  text , 26 , 179 405 50 15
  text , 27 , 350 405 150 15
  text , 28 , 435 125 50 100
  edit "" , 31 , 642 30 145 23 , limit 19
  button "Whoiser" , 32 , 680 65 50 20
  box "Whois Indépendant" , 33 , 630 5 170 150
  text , 34 , 642 95 150 55
  ;suite whois
  text , 62 , 179 425 50 15
  text , 63 , 350 425 200 15
  button "ok" , 65 , 680 435 60 20 , ok
  text , 66 , 290 95 100 15
  text "Sys.Whois.Agora.Script" , 67 , 660 400 120 15
}
on *:dialog:i.chan:init:*:{
  %actived = $active
  list.user
  did -b i.chan 67
  did -h i.chan 13,21
  did -a i.chan 34 Cet endroit permet de whoiser un pseudo ne faisant pas parti de la liste des pseudos de %actived
}
on *:dialog:i.chan:dclick:5:{ alias dialw return { 1 } | .dialowhoiswhois1 | dialwhois | did -v i.chan 13,21 }
on *:dialog:i.chan:sclick:32:{ alias dialw return { 2 } | .dialowhoiswhois1 | dialwhois2 | n.chan.c.i }
on *:dialog:i.chan:dclick:21:{ join $did(i.chan,21).seltext }
alias dialowhoiswhois1 {
  did -a i.chan 7 ??Whois sur $iif($dialw == 1,$did(5).seltext,$did(i.chan,31)) $+ ??
  did -a i.chan 8 ?Adresse:
  did -a i.chan 11 ?Channels: 
  did -a i.chan 12 ?Canaux en communs avec $iif($dialw == 1,$did(5).seltext,$did(i.chan,31)) $+ : $iif($dialw == 1,$comchan($did(5).seltext,0),$comchan($did(i.chan,31),0))
  did -r i.chan 13 | n.chan.c
  did -a i.chan 17 ?Infos:
  did -a i.chan 19 ?Pseudo enregistré sur le server:
  did -a i.chan 22 ?Connectée via le server:
  did -a i.chan 24 ?Inactif depuis:
  did -a i.chan 26 ?Ircop:
  did -a i.chan 28 ?Cliquez sur un chan pour le joindre.
  did -a i.chan 20 Non.
  did -a $dname 25 Inconnu
  did -a $dname 27 Non, c'est un simple client.
  did -a $dname 62 ?Away:
  did -a $dname 63 N'est pas away.
}
alias list.user {
  var %a 1,%b $opnick(%actived,0) ,%c $vnick(%actived,0),%d $nick(%actived,0,r)
  while ( %a <= %b ) { did -a i.chan 5 $opnick(%actived,%a) | inc %a } | var %a 1
  while ( %a <= %c ) { did -a i.chan 5 $vnick(%actived,%a) | inc %a } | var %a 1
  while ( %a <= %d ) { did -a i.chan 5 $nick(%actived,%a,r) | inc %a } | var %a 1
}
alias n.chan.c { var %chan.c 1 , %chan.c.t $comchan($did(5).seltext,0) | while ( %chan.c <= %chan.c.t ) { did -a i.chan 13 $comchan($did(5).seltext,%chan.c) | inc %chan.c } | var %chan.c 1 }
alias n.chan.c.i { var %chan.c.2 1 , %chan.c.t.2 $comchan($did(i.chan,31),0) | while ( %chan.c.2 <= %chan.c.t.2 ) { did -a i.chan 13 $comchan($did(i.chan,31),%chan.c.2) | inc %chan.c.2 } | var %chan.c.2 1 }
alias dialwhois2 { .enable #dialwhois | whois $did(i.chan,31) }
alias dialwhois { .enable #dialwhois | whois $did(i.chan,5).seltext }
#dialwhois on
raw 301:*:{ did -a i.chan 63 ?O.u.i> $3- }
raw 307:*:{ did -a i.chan 20 Oui. }
raw 311:*:{ did -a i.chan 18 $strip($6-) | did -a i.chan 16 $3 $+ @ $+ $4 | halt }
raw 312:*:{ did -a i.chan 23 $3 | halt }
raw 313:*:{ did -a i.chan 27 Oui. | halt }
raw 317:*:{ did -a i.chan 25 $duration($3) | halt }
raw 319:*:{ .did -v i.chan 13,21 | .did -r i.chan 21 | didtok i.chan 21 32 $remove($3-,^,@,+,*,) | did -a i.chan 66 .:: $numtok($3-,32) $iif($numtok($3-,32) > 1,canaux,canal) ::. | halt }
raw 401:*:{ .did -h i.chan 13,21 | .did -r i.chan 7,8,11,12,13,16,17,18,19,21,22,24,26,28,20,25,27,29,63,62,66 | did -a i.chan 34 $crlf $+ $did(i.chan,31) n'est pas connecté(e) $+ $crlf | halt }
raw 318:*:{ haltdef }
#dialwhois end

Conclusion :


Ne faîte pas attention aux ID, elle sont grandes car comme je l'ai expliqué plus haut, il y avait 3 TAB.. mais ça fonctionne quand même.
Un merci pour MaX_62 lolll, il sera peut-être surpris, mais c'est lui qui m'a aidé sur le forum pour pouvoir faire ce dialog, du moins l'ancien dialog qui comportait 3 TAB mdr jme répète ( http://www.ircfr.com/forum.v2.aspx?ID=401466 ). Bref, il marche, et s'il est trop grand encore, bah j'essayerais de le changeais.
Pour faire marcher le code, faites soit F5, soit /i.chan ou l'option présente sur le menu Channel.
@+

A voir également

Ajouter un commentaire

Commentaires

Messages postés
11
Date d'inscription
mardi 16 janvier 2007
Statut
Membre
Dernière intervention
16 juin 2007

merci beaucoup fonction no#1 :)
Messages postés
301
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
19 février 2007

Pas mal... :)
Messages postés
1052
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
30 novembre 2009
2
"whois $did(i.chan,31)"
ca doit etre remplacé par :
"whois $did(i.chan,31) $did(i.chan,31"
^pour avoir plus d'informations, telle que l'inactivité ou autres.
bonne continuation
Messages postés
136
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
20 octobre 2007

On m'a déjà fait cette remarque pour les alias dans les événements, ça marche donc je l'utilise.. et puis je déteste scripter en regroupant les events pas $devent et $did.. chacun sa façon de scripter. Même si /uwho existe ça n'empêche pas de faire ce code je pense, mais oui /uwho est plus beau.
Mes dialog seront toujours trés grands car la résolution de mon écran est grande.
TALKING, dans mon screen, le dialog est vide, il paraît grand, mais quand on double-clik sur un pseudo, la place est prise..
Messages postés
343
Date d'inscription
dimanche 30 novembre 2003
Statut
Membre
Dernière intervention
19 août 2006
1
Oulà d'aprés la capture le dialog me semble énorme pour un simple système de whois
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.