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

POE::Component::IRC::Cookbook::Hailo - A blabbering IRC bot

SYNOPSIS

This bot uses POE::Component::IRC::Plugin::Hailo for most of its magic. As of yet, this recipe just contains a SYNOPSIS that is copied from its documentation.

DESCRIPTION

#!/usr/bin/env perl

use strict;
use warnings;
use POE;
use POE::Component::IRC::Plugin::AutoJoin;
use POE::Component::IRC::Plugin::Connector;
use POE::Component::IRC::Plugin::Hailo;
use POE::Component::IRC::State;

my $irc = POE::Component::IRC::State->spawn(
    nick   => 'Brainy',
    server => 'irc.freenode.net',
);

my @channels = ('#public_chan', '#bot_chan');

$irc->plugin_add('AutoJoin', POE::Component::IRC::Plugin::AutoJoin->new(Channels => \@channels));
$irc->plugin_add('Connector', POE::Component::IRC::Plugin::Connector->new());
$irc->plugin_add('Hailo', POE::Component::IRC::Plugin::Hailo->new(
    Own_channel    => '#bot_chan',
    Ignore_regexes => [ qr{\w+://\w} ], # ignore lines containing URLs
    Hailo_args     => {
        brain_resource => 'brain.sqlite',
    },
));

$irc->yield('connect');
$poe_kernel->run();

AUTHOR

Hinrik Örn Sigurðsson, hinrik.sig@gmail.com