Adam
view release on metacpan or search on metacpan
ex/declare.pl view on Meta::CPAN
is => 'ro',
default => 'Mutant Detected!',
);
on irc_bot_addressed( Str $nickstr, ArrayRef $channels, Str $message) {
my ($nick) = split /!/, $nickstr;
$self->privmsg( $channels => "$nick: ${ \$self->message }" );
};
}
my @bots = map { MasterMold->new( nickname => "Sentinel_${_}" ) } ( 1 .. 2 );
POE::Kernel->run;
ex/ncbot.pl view on Meta::CPAN
name => [qw(COMMAND echo -keep)],
create => q[^(?k:[@#][^\s]+)?\s*(?k:.*)$];
method handle_nc_command( Str $cmd) {
my ($owner) = split /!/, $self->get_owner;
given ($cmd) {
when (/$RE{COMMAND}{echo}{-keep}/) {
if ($1) {
my @targets = split ',', $1;
$self->privmsg( $_ => $2 ) for map { s/^@//; warn $_; $_ } @targets;
}
else {
$self->privmsg( $self->get_channels->[0] => $2 );
}
}
default {
$self->privmsg( $owner, "unknown command $cmd" );
}
}
lib/Adam.pm view on Meta::CPAN
get_plugin => 'get',
has_plugins => 'count'
}
);
sub core_plugins {
return {
'Core_Connector' => 'POE::Component::IRC::Plugin::Connector',
'Core_BotAddressed' => 'POE::Component::IRC::Plugin::BotAddressed',
'Core_AutoJoin' => POE::Component::IRC::Plugin::AutoJoin->new(
Channels => { map { $_ => '' } @{ $_[0]->get_channels } },
),
'Core_NickReclaim' =>
POE::Component::IRC::Plugin::NickReclaim->new( poll => 30 ),
};
}
sub custom_plugins { {} }
sub default_plugins {
return { %{ $_[0]->core_plugins }, %{ $_[0]->custom_plugins } };
lib/Adam/Plugin.pm view on Meta::CPAN
handles => { _list_events => 'elements' }
);
sub default_events {
[ grep { /^[SU]_\w+/ } shift->meta->get_all_method_names ];
}
sub PCI_register {
my ( $self, $irc ) = splice @_, 0, 2;
my @events = $self->_list_events;
my @s_events = map { s/^S_//; $_ } grep { /^S_/ } @events;
my @u_events = map { s/^U_//; $_ } grep { /^U_/ } @events;
$irc->plugin_register($self, 'SERVER', @s_events) if @s_events;
$irc->plugin_register($self, 'USER', @u_events) if @u_events;
return 1;
}
sub PCI_unregister {
my ( $self, $irc ) = @_;
return 1;
}
lib/Moses/Declare.pm view on Meta::CPAN
is => 'ro',
default => 'Mutant Detected!',
);
on irc_bot_addressed( Str $nickstr, ArrayRef $channels, Str $message) {
my ($nick) = split /!/, $nickstr;
$self->privmsg( $channels => "$nick: ${ \$self->message }" );
};
}
my @bots = map { MasterMold->new( nickname => "Sentinel_${_}" ) } ( 1 .. 2 );
POE::Kernel->run;
( run in 0.287 second using v1.01-cache-2.11-cpan-65fba6d93b7 )