Bot-Cobalt
view release on metacpan or search on metacpan
lib/Bot/Cobalt/IRC.pm view on Meta::CPAN
=head3 Bot_disconnected
Broadcast when irc_disconnected is received.
my ($self, $core) = splice @_, 0, 2;
my $context = ${$_[0]};
my $server_name = ${$_[1]};
$core->Servers->{$context}->connected will be false until a reconnect.
=head3 Bot_server_error
Issued on unknown ERROR : events. Not a socket error, but connecting failed.
The IRC component will provide a maybe-not-useful reason:
my ($self, $core) = splice @_, 0, 2;
my $context = ${$_[0]};
my $reason = ${$_[1]};
=head2 Incoming message events
=head3 Bot_public_msg
Broadcast upon receiving public text (text in a channel).
my ($self, $core) = splice @_, 0, 2;
my $msg = ${$_[0]};
my $context = $msg->context;
my $stripped = $msg->stripped;
...
$msg is a L<Bot::Cobalt::IRC::Message> object; in the case of public
messages it is a L<Bot::Cobalt::IRC::Message::Public> object.
See L<Bot::Cobalt::IRC::Message> for complete documentation regarding
available methods.
B<IMPORTANT:> We don't automatically decode any character encodings.
This means that text may be a byte-string of unknown encoding.
Storing or displaying the text may present complications.
You may want decode_irc from L<IRC::Utils> for these applications.
See L<IRC::Utils/ENCODING> for more on encodings + IRC.
Also see:
=over
=item *
L<perluniintro>
=item *
L<perlunitut>
=item *
L<perlunicode>
=back
=head3 Bot_public_cmd_CMD
Broadcast when a public command is triggered.
Plugins can catch these events to respond to specific commands.
CMD is the public command triggered; ie the first "word" of something
like (if CmdChar is '!'): I<!kick> --> I<Bot_public_cmd_kick>
Syntax is precisely the same as L</Bot_public_msg>, with one major
caveat: B<< $msg->message_array will not contain the command. >>
This event is pushed to the pipeline before _public_msg.
=head3 Bot_private_msg
Broadcast when a private message is received.
Syntax is the same as L</Bot_public_msg>, B<except> the first spotted
destination is stored in key C<target>
The default IRC interface plugins only spawn a single client per server.
It's fairly safe to assume that C<target> is the bot's current nickname.
=head3 Bot_got_notice
Broadcast when a /NOTICE is received.
Syntax is the same as L</Bot_public_msg>.
=head3 Bot_ctcp_action
Broadcast when a CTCP ACTION (/ME in most clients) is received.
Syntax is similar to L</Bot_public_msg>.
If the ACTION appears to have been directed at a channel, the B<channel>
method will return the same value as B<target> -- otherwise it will
return an empty string.
=head2 Sent notification events
=head3 Bot_message_sent
Broadcast when a PRIVMSG has been sent to the server via an event;
in other words, when a 'message' event was sent.
Carries a copy of the target and text:
my ($self, $core) = splice @_, 0, 2;
my $context = ${$_[0]};
my $target = ${$_[1]};
( run in 0.750 second using v1.01-cache-2.11-cpan-39bf76dae61 )