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 )