Hyungsuk Hong > Horris-v0.1.2 > Horris

Download:
Horris-v0.1.2.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Source  

NAME ^

Horris - An IRC Bot Based On Moose/AnyEvent - forked Morris

VERSION ^

version v0.1.2

SYNOPSIS ^

    use Horris;
    my $config = {
        'network' => {
            'freenode' => {
                'nickname' => 'botname',
                'server' => 'irc.freenode.net',
                'port' => '6667',
                'username' => 'botname'
            }
        },
        'connection' => {
            'freenode' => {
                'plugin' => {
                    'Join' => {
                        'channels' => [
                            '#channel-name', 
                        ]
                    },
                    'Twitter' => {},
                }, 
                'network' => 'freenode',
                'loadmodule' => [
                    'Twitter',
                    'Join',
                ]
            }
        }
    };

    my $horris = Horris->new(config => $config);
    $horris->run;

or

    horris run --configfile /path/to/config.conf        # more general

below shows some feature of Horris.

    ### assume here at a irc channel & hongbot is horris bot, hshong is me.
    ### echo
    HH:MM:SS  hshong | hongbot echo
    HH:MM:SS      -- | Notice(hongbot) echo on
    HH:MM:SS  hshong | hi
    HH:MM:SS hongbot | hshong: hi
    HH:MM:SS  hshong | hongbot echo
    HH:MM:SS      -- | Notice(hongbot) echo off
    HH:MM:SS  hshong | hi                           # and no echo here..
    ### evaluate
    HH:MM:SS  hshong | eval print 'hello world'
    HH:MM:SS hongbot | hello world
    HH:MM:SS  hshong | eval print $^V
    HH:MM:SS hongbot | v5.10.1
    ### hit(cute joke)
    HH:MM:SS  hshong | hongbot hit hshong
    HH:MM:SS hongbot | hshong: fork you
    HH:MM:SS  hshong | hongbot hit hshong
    HH:MM:SS hongbot | hshong: http://stfuawsc.com
    HH:MM:SS  hshong | jeen: 껒
    HH:MM:SS hongbot | hshong: ㅁㅁ? - http://tinyurl.com/5t3ew8t
    ### letter - Acme::Letter
    HH:MM:SS  hshong | letter bye
    HH:MM:SS hongbot |  _____ _    _ _____
    HH:MM:SS hongbot | |  _  \ \  / /  ___|
    HH:MM:SS hongbot | | |_)_/\_\/_/| |__
    HH:MM:SS hongbot | | |_) \  | | | |___
    HH:MM:SS hongbot | |_____/  |_| |_____|
    ### PeekURL
    HH:MM:SS  hshong | http://sports.media.daum.net/baseball/news/breaking/view.html?cateid=1028&newsid=20110211110523268&p=SpoSeoul
    HH:MM:SS      -- | Notice(hongbot): Daum 스포츠 [text/html;charset=UTF-8] - http://tinyurl.com/4rs9afr
    ### Twitter
    HH:MM:SS  hshong | http://twitter.com/#!/umma_coding_bot/status/8721128864350209
    HH:MM:SS hongbot | 엄마코딩봇: 세계가 네 코드를 지켜보고 있단다. 버그 배출을 자제하렴.
    ### kspell - KoreanSpellChecker
    HH:MM:SS  hshong | kspell 키디님
    HH:MM:SS hongbot | 키디님 -> 케디님
    ### Relay chat messages from other networks
    HH:MM:SS hongbot | <other_irc_server_hshong> i'm here
    ### PowerManagement
    HH:MM:SS    NICK | hongbot quit
    HH:MM:SS     <-- | hongbot (nick@some.host) has quit (Remote host closed the connection)

DESCRIPTION ^

Morris is awesome. Horris stolen Morris's idea, documents, code base, plugin and so on. (everything) Morris has self implemeted pluggable process. but Horris is not.

<Horris> is <Morris> + CLI utility + More Simple plugins.

This documents concentrate How to use instead What it is. because you can also seeing Morris.

BASIC CONFIGURATION ^

    <Config>
      <Connection YourConnectionName>
        Network YourNetworkName
        ... LoadModules ...
        ... plugins ...
      </Connection>

      <Network YourNetworkName>
        ... network config ...
      </Network>
    </Config>

Connection CLAUSE

    <Connection YourConnectionName>
        LoadModule  Echo
        LoadModule  PeekURL
        LoadModule  Twitter
        <Plugin Echo/>
        <Plugin PeekURL/>
        <Plugin Twitter/>
    </Connection>

LoadModule has execute priority. First in first out. Each plugin return boolean value when a event occur. If any plugin return false, lower plugins never processing occured event.

SEE ALSO ^

Morris

AUTHOR ^

hshong <hshong@perl.kr>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2011 by hshong.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: