Recuperer l'host en perl (xchat)

Résolu
cs_aeled Messages postés 108 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 10 mars 2005 - 15 sept. 2004 à 19:08
cs_aeled Messages postés 108 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 10 mars 2005 - 16 sept. 2004 à 00:25
J'essaie de faire une commande en perl qui récupere l'host d'un user placé en parametre.

en gros /host [nick] doit renvoyer un truc du style : *!*@xxx.xx.xx.xx

J'ai cru comprendre qu'il fallait utiliser Xchat::user_info()

Mais je m'en sors pas....

David

-----
Un jour, je saurai !

8 réponses

cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
16 sept. 2004 à 00:17
Le userhost peut donner une idée quand même...
Voila un truc ptet plus proche de ce que tu voulais après avoir cherché un peu :

Xchat::hook_command("host", "host");
sub host {
$nick = $_[0][1];
%host = %{ Xchat::user_info($nick) };
if ($host{"host"} =~ /@(.*)/) { Xchat::print "$nick : *!*@" . $1;}
return 1;
}

/host

PaDa
3
dj328i Messages postés 312 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 14 mars 2022
15 sept. 2004 à 20:27
Je doute quil y ai vraiment des personnes qui soie adapte du PERL sur ircfr , c'est pas la meilleur place.
0
cs_aeled Messages postés 108 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 10 mars 2005
15 sept. 2004 à 20:36
J'ai vu trainer des sources pour xchat :) alors je me suis dit que certains devait coder en perl ou python.

David

-----
Un jour, je saurai !
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
15 sept. 2004 à 22:52
N'ayant aucune doc sur la lib XChat:: , j'utilise la lib IRC:: mais ca pourra ptet t'aider :
en fait le plus simple c'est d'utiliser /userhost

#début du .pl nécessaire apparemment
IRC::register("SuperAuteur","SuperVersion","","");
#lorsqu'on recoit un raw 302 on exécute la subroutine "raw302"
IRC::add_message_handler("302","raw302");
#subroutine
sub raw302 {
#extractiondu pseudo , le truc compris entre ":" et "="
if ($_[0] =~ /:([^:]+)=/) { $nick = $1;}
#extraction du host , le truc compris entre un @ et la fin...
if ($_[0] =~ /@(.+)/) { $host = "*!*@" . $1;}
#affichage du nick et du host
IRC::print " Host for $nick : $host";
#on empêche pour finir l'affichage standard par ca:
return 1;
}

soit en non commenté :

IRC::register("SuperAuteur","SuperVersion","","");
IRC::add_message_handler("302","raw302");
sub raw302 {
if ($_[0] =~ /:([^:]+)=/) { $nick = $1;}
if ($_[0] =~ /@(.+)/) { $host = "*!*@" . $1;}
IRC::print "Host for $nick : $host";
return 1;
}

(c'est surement hyper maladroit je débute en Perl/Xchat ... indulgence indulgence)

PaDa
0

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

Posez votre question
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
15 sept. 2004 à 22:58
Ps : j'ajoute que Xchat gère certainement une liste d'adresse interne modulo un /who mais bon j'fais des essais j'en suis au niveau vraiment ras les paquerettes lol
Ps2: si qq1 d'autre se met un peu a Perl (pour Xchat ou non) j'suis preneur avancer à plusieurs c'est toujours plus facile ... pmsg ou #scripting@irc.rs2i.net =]

PaDa
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
15 sept. 2004 à 23:26
Passage (bidon en fait) a Xchat::

Xchat::register("SuperAuteur","SuperVersion","","");
Xchat::hook_server("302","raw302");
sub raw302 {
if ($_[0][3] =~ /:([^:]+)=/) { $nick = $1;}
if ($_[0][3] =~ /@(.+)/) { $host = "*!*@" . $1;}
Xchat::print "Host for $nick : $host";
return 1;
}

PaDa
0
cs_aeled Messages postés 108 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 10 mars 2005
15 sept. 2004 à 23:35
Oui bien sur, xchat gère ca tout seul comme un grand. Mais c'est pour faire une partie d'un script. J'ai besoin de récuperer l'host pour le comparer à une liste.

David

-----
Un jour, je saurai !
0
cs_aeled Messages postés 108 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 10 mars 2005
16 sept. 2004 à 00:25
Un grand merci ! C'est exactement ce que je cherchais :)

Je vais pouvoir continuer pour le reste !

David

-----
Un jour, je saurai !
0
Rejoignez-nous