Помогите с Perl (LXF 100/101)

Модератор: Модераторы разделов

Korang
Сообщения: 1
ОС: Debian Linux

Помогите с Perl

Сообщение Korang »

Доброе время суток

Помогите кто может.

Хочу научиться перл. В 100/101 номере был пример ирц бота на перл. если он у кого есть завершенный выложите пожалуйста.

Или допишите что бы я смог разобраться в нем дальше.

Код: Выделить всё

use Net::IRC;

$server = 'irc.tic-tac.ru';
$channel = '#dragon';
$botnick = 'Akar';
$password = 'Nopass';
$botadmin = 'Noob';

$irc = new Net::IRC;
$conn = $irc->newconn(Nick => $botnick,
Server => $server, Port => 6669);

$conn->add_global_handler('376', \&on_connect);
$conn->add_global_handler('disconnect', \&on_disconnect);
$conn->add_global_handler('kick', \&on_kick);
$conn->add_global_handler('msg', \&on_msg);

$irc->start;

sub on_connect {
    $self = shift;
    $self->privmsg('nickserv', "identify $password");
    $self->join($channel);
    $self->privmsg($channel, "Lo! I'm just a silent bot.");
    }


sub on_disconnect {
    $self = shift;
    $self->connect();
    }


sub on_kick {
    $self = shift;
    $self->join($channel);
    $self->privmsg($channel, "Please don't kick me!");
}

sub on_msg {
    $self = shift;
    $event = shift;
    if ($event->nick eq $botadmin) {
        foreach $arg ($event->args) {
        if ($arg =~ m/uptime/) {
            @output = 'uptime';
            foreach $line (@output) {
            $self->privmsg($botadmin, $line);
            }
        }

    if ($arg =~ m/df/) {
    @output = 'df';
    foreach $line (@output) {
    $self->privmsg($botadmin, $line);
    }
    }
    }


}
}


Хочу разобраться как делать общедоступные команды для этого бота, т.е что бы люди на канале набрали !тест а бот ответил тест

или !кто я а бот ответил ты ник_пользователя


Заранее спасибо.
Спасибо сказали: