Lorsque tu fais un "if ($nick ison #salon)" en mIRC, mIRC va puiser dans des listes internes qu'il tient à jour de deux façons : à ton entrée dans le salon, via un retour de /names, et ensuite avec les join/part/quit/kill qu'il voit passer. Si tu demandes à mIRC de retenir en plus des pseudos les hosts, on parle de l'IAL, pour info..
Donc en Perl, il faut te coder ça toi-même, pour résumer. Tout dépend ensuite de ce que tu utilises comme module. Si tu restes assez "bas niveau", avec du IO::Socket par exemple, tu n'auras pas ce genre de fonctions prédéfinies à ta disposition. En revanche, si tu utilises des modules déjà faits pour l'IRC (par exemple POE::Componenent::IRC, (ou Net::IRC plus vieux je crois)) dans ce cas il y a sûrement cette fonction déjà incorporée dans le module.
J'avais fait un bot en POE::Component::IRC, mais il n'apportait rien de significatif par rapport à ce que tu pourras trouver ici : http://poe.perl.org/?POE_Cookbook/IRC_Bots
Plus d'infos : - http://poe.perl.org/?POE_Cookbook (section "IRC Programming") - http://search.cpan.org/~fimm/POE-Component-IRC-2.9/IRC.pm (à noter que la dernière fois où je l'ai testé, j'ai trouvé un bug qui faisait planté le bot lors de l'utilisation du handle sur les kicks salon, je n'ai pas pris le temps de détailler et de remonter à l'auteur, mais j'avais trouvé comment évité ça, si tu rencontres un souci n'hésite pas)
Je dois encore avoir quelques trucs qui trainent si tu veux je les posterai ici également...
-- Pada
|