Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.2 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Programming > Perl Modules

    POE::Component::Server::IRC 1.40

    Download button

    No screenshots available
    Downloads: 333  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    Good (3.7/5)
    8 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Chris Williams | More programs
    Perl Artistic License / FREE
    March 12th, 2008, 07:55 GMT
    ROOT / Programming / Perl Modules

     Read user reviews (0)  Refer to a friend  Subscribe

    POE::Component::Server::IRC description

    A fully event-driven networkable IRC server daemon module.

    POE::Component::Server::IRC is a fully event-driven networkable IRC server daemon module.

    SYNOPSIS

    # A fairly simple example:
    use strict;
    use warnings;
    use POE qw(Component::Server::IRC);

    my %config = (
    servername => 'simple.poco.server.irc',
    nicklen => 15,
    network => 'SimpleNET'
    );

    my $pocosi = POE::Component::Server::IRC->spawn( config => %config );

    POE::Session->create(
    package_states => [
    'main' => [qw(_start _default)],
    ],
    heap => { ircd => $pocosi },
    );

    $poe_kernel->run();
    exit 0;

    sub _start {
    my ($kernel,$heap) = @_[KERNEL,HEAP];
    $heap->{ircd}->yield( 'register' );
    # Anyone connecting from the loopback gets spoofed hostname
    $heap->{ircd}->add_auth( mask => '*@localhost', spoof => 'm33p.com', no_tilde => 1 );
    # We have to add an auth as we have specified one above.
    $heap->{ircd}->add_auth( mask => '*@*' );
    # Start a listener on the 'standard' IRC port.
    $heap->{ircd}->add_listener( port => 6667 );
    # Add an operator who can connect from localhost
    $heap->{ircd}->add_operator( { username => 'moo', password => 'fishdont' } );
    undef;
    }

    sub _default {
    my ( $event, $args ) = @_[ ARG0 .. $#_ ];
    print STDOUT "$event: ";
    foreach (@$args) {
    SWITCH: {
    if ( ref($_) eq 'ARRAY' ) {
    print STDOUT "[", join ( ", ", @$_ ), "] ";
    last SWITCH;
    }
    if ( ref($_) eq 'HASH' ) {
    print STDOUT "{", join ( ", ", %$_ ), "} ";
    last SWITCH;
    }
    print STDOUT "'$_' ";
    }
    }
    print STDOUT "n";
    return 0; # Don't handle signals.
    }

    POE::Component::Server::IRC is a POE component which implements an IRC server ( also referred to as an IRC daemon or IRCd ). It should be compliant with the pertient IRC RFCs and is based on reverse engineering Hybrid IRCd behaviour with regards to interactions with IRC clients and other IRC servers.

    Yes, that's right. POE::Component::Server::IRC is capable of linking to form IRC networks. It supports the TS5 server to server protocol and has been tested with linking to Hybrid-7 based networks. It should in theory work with any TS5-based IRC network.

    POE::Component::Server::IRC also has a services API, which enables one to extend the IRCd to create IRC Services. This is fully event-driven ( of course =] ). There is also a Plugin system, similar to that sported by POE::Component::IRC.

    Product's homepage

    Requirements:

    · Perl

      


    TAGS:

    IRC server | daemon module | Perl module | module | IRC | server

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM