begin process at 2008 08 22 00:01:54
1 229 711 membres
519 nouveaux aujourd'hui
14 267 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 : pb de if() pour bot Perl [ Divers / Eggdrop ] (uaip)

pb de if() pour bot Perl le 27/12/2007 12:03:32

uaip
Bonjour à tous, ma question est très simple : quelqu'un sait-il comment coder en Perl l'hypothèse de la présence d'un user sur un salon IRC ? C'est en gros, l'équivalent de if (Pseudo isin $chan) [en mirc]. J'ai beau chercher partout, il y a très peu d'aide sur les bots IRC en Perl... Merci bien.

PS: au pire je peu faire un foreach mais je ne sais pas non plus comment coder l'équivalent de $nick(#,) [en mirc].

Cordialement, uaip.

Re : pb de if() pour bot Perl le 27/12/2007 12:24:47

PaDa
Membre Club
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

Re : pb de if() pour bot Perl le 27/12/2007 12:26:58

PaDa
Membre Club
s/Componenent/Component/;
s/planté/planter/;
s/évité/éviter/;

J'ai honte, j'aurai dû me relire, désolé ^^
--
Pada

Re : pb de if() pour bot Perl le 27/12/2007 12:29:47

uaip
Lol, t'inquiète, deja merci beaucoup :)
oui, j'avais oublié de préciser j'utilise Net::IRC (honte à moi de ne pas l'avori dit).
Je vais regarder tout ca, merci.

Cordialement, uaip.

Re : pb de if() pour bot Perl le 27/12/2007 13:07:19

PaDa
Membre Club
Si mes souvenirs sont bons avec Net::IRC tu vas devoir faire une partie du boulot à la main..
Bon courage !

--
Pada

PS: tu as sûrement raison d'utiliser Net::IRC parce qu'avec POE on s'arrache un peu les cheveux, ce n'est pas très simple et intuitif à coder, j'ai vite abandonné

Re : pb de if() pour bot Perl le 27/12/2007 13:16:59

uaip
Nan mais même avec Net::IRC ca va être chiant ^^.
Le bot gère des stats, antiflood, etc donc il doit analyser toutes les phrases dites sur les salons. En fait je veux simplement "protéger" les salons officiels de quelques commandes qui pourraient flooder. Mais j'ai l'autorisation d'amener le bot quelques fois
sur les chans off pour l'aide. Donc je voulais simplement détecter "si l'eggdrop général (yen a toujours un présent sur tous les chans off d'un serveur) est dans le salon, certaines commandes s'annulent".
Mais deja que j'utilise beaucoup de ressources pour les stats et autres (écrire dans des fichiers, etc) je préfere ne pas trop pousser non plus :s, surtout que mon niveau est + que déplorable en Perl.

Cordialement, uaip.


Classé sous : pb, bot, coder, perl, if

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS