The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Moses - A framework for building IRC bots quickly and easily.

VERSION

This documentation refers to version 0.04.

SYNOPSIS

        package SampleBot;
        use Moses;
        use namespace::autoclean;
        
        server 'irc.perl.org';
        nickname 'sample-bot';
        channels '#bots';

        has message => (
            isa     => 'Str',
            is      => 'rw',
            default => 'Hello',
        );

        event irc_bot_addressed => sub {
            my ( $self, $nickstr, $channel, $msg ) = @_[ OBJECT, ARG0, ARG1, ARG2 ];
            my ($nick) = split /!/, $nickstr;
            $self->privmsg( $channel => "$nick: ${ \$self->message }" );
        };

        __PACKAGE__->run unless caller;

DESCRIPTION

Moses is some declarative sugar for building an IRC bot based on the Adam IRC Bot. Moses is designed to minimize the amount of work you have to do to make an IRC bot functional, and to make the process as declarative as possible.

FUNCTIONS

nickname (Str $name)

Set the nickname for the bot. Default's to the current package.

server (Str $server)

Set the server for the bot.

port (Int $port)

Set the port for the bot's server. Default's to 6667.

channels (@channels)

Supply a list of channels for the bot to join upon connecting.

plugins (@plugins)

Extra POE::Component::IRC::Plugin objects or class names to load into the bot.

DEPENDENCIES

The same dependencies as Adam.

MooseX::POE, namespace::autoclean, MooseX::Alias, POE::Component::IRC, MooseX::Getopt, MooseX::SimpleConfig, MooseX::LogDispatch

BUGS AND LIMITATIONS

None known currently, please email the author if you find any.

AUTHOR

Chris Prather (chris@prather.org)

LICENCE

Copyright 2007-2009 by Chris Prather.

This software is free. It is licensed under the same terms as Perl itself.