Bonjour,

Je souhaite développer un bot se connectant à IRC pour réaliser un challenge ( de http://www.newbiecontest.org/ pour ceux qui connaissent ). J'ai décidé de créer ce bot en perl qui me parait assez approprié pour le genre d’opérations demandées. Après quelques recherches sur le web j'ai concocté ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
use strict;
use POE;
use POE::Component::IRC;
 
my $irc = POE::Component::IRC->spawn(
		Nick => 'Brastir',
		Username => 'Cool bot',
		Ircname => 'cute comment',
		Server  => 'irc.worldnet.net',
		Port => 6667,
	);
 
POE::Session->create(
  inline_states => {
    _start     => \&bot_start,
    irc_001    => \&on_connect,
    irc_join => \&on_join,
    irc_msg => \&on_msg,
  },
);
 
$poe_kernel->run();
exit(0);
 
sub bot_start{
	print "Started\n";
	$irc->yield(connect => { } );
	return;
}
 
sub on_connect{
	print "Connected\n";
	$irc->yield(join => '#nc-irc-challs');
	return;
}
 
sub on_join{
	print "Joined\n";
	$irc->yield(privmsg => 'Daneel' => '.challenge_caesar start');
	return;
}
 
sub on_msg{
	my ($nick, $recipients, $texte) = @_;
	print $texte;
	return;
}
Cependant la sortie ne me renvoie que "Started" : on_connect() n'est jamais appelé. J'ai regardé le trafic qui passent sur mon réseau (avec Wireshark ), enfaite le client se connecte bien au serveur (ce dernier envoie même régulièrement des PING qui sont toujours suivis de PONG ). Il semble que c'est ma gestion des évènements qui coince. Si quelqu'un peut m'apporter de l'aide