mr2 has asked for the wisdom of the Perl Monks concerning the following question:


how should the sub that start's on kick event look like?
i mean how to check if my perl bot is kicked off the channel?

how "sub on_kick {}" &
"$conn2->add_global_handler('msg', \&on_msg);" should look like?

(i haven't found it the example that comes with Net::Irc module ;/)

i have an example :
#!/usr/bin/perl use Net::IRC; use strict; my $server = "myserver"; my $irc = new Net::IRC; my $conn1 = $irc->newconn(Nick => "test1", Server => $server, Port => 6667); my $conn2 = $irc->newconn(Nick => "test2", Server => $server, Port => 6667); $conn1->add_global_handler('msg', \&on_msg); $conn2->add_global_handler('msg', \&on_msg); $irc->start; sub on_msg { my ($self, $event) = @_; my $who = $event->nick; $self->privmsg($who, "hello, $who!!"); }

Replies are listed 'Best First'.
Re: Net::IRC "on kick(ed)"
by LTjake (Prior) on Aug 14, 2002 at 14:44 UTC
    I've never used the module, but a quick look into Net::IRC::Event shows that kick is the event that would be called:
    kick The "kick" event is triggered upon receipt of a KICK message, which me +ans that someone on a channel with the client (or possibly the client + itself!) has been forcibly ejected.
    Thus, your code should look something like:
    $conn->add_global_hander('kick', \&on_kick); sub on_kick { my ($self, $event) = @_; my $who = $event->nick; # $who is the person who was kicked. }
    Update:

    Note: you can use Data::Dumper to see what the event structure looks like:
    use Data::Dumper; # ... sub on_kick { my ($self, $event) = @_; print Dumper($event); }
    HTH.
A reply falls below the community's threshold of quality. You may see it by logging in.