KENNY_McCORMICK
18.09.2008, 13:55
Начал я писать IRC бота на PERL....
use PERLDOC and GOOGLE.
вот что получилось:
#!/usr/bin/perl -w
use Net::IRC;
$kanal = '#r2';
$admin = 'qbbr1';
$password = 'qwe123';
$irc = new Net::IRC;
$conn = $irc->newconn(Nick=>'qbbr_bot',Server=>'irc.antichat.net',Port=>7771);
$conn->add_global_handler('376', \&on_connect);
$conn->add_global_handler('disconnect', \&on_disconnect);
$conn->add_global_handler('kick', \&on_kick);
$conn->add_handler('msg', \&on_msg);
$conn->add_handler('public', \&on_public);
$irc->start;
sub on_connect {
$self = shift;
$self->privmsg('nickserv', "identify $password");
$self->join($kanal);
$self->privmsg($kanal, "HIHO ALL xD");
}
sub on_disconnect {
$self = shift;
$self->connect();
}
sub on_kick {
$self = shift;
$self->join($kanal);
$self->privmsg($kanal, "SLIW...nah kick?");
}
sub on_msg {
$self = shift;
$self->privmsg($admin, "private msg");
}
sub on_public {
$self = shift;
$self->privmsg($kanal, "Im bot");
}
ВЗЫВАЮ ВАС НА ПОМОЩ
Помогите разобраться)
а теперь вопросы:
1) как сделать чтоб он, не на все -msg public- отвечал "Im bot", а чтоб на определенные команды.
2) (1) + команды принимались только от человека $admin
3) чтобы бот отвечал человеку, который написал в приват.
4) и как использовать CTCP requests
5) в чём разница между [$conn->add_global_handler] и
[$conn->add_handler]
Конечно таких ботов куча... но я не осилил исходники(( уж сильно большие и непонятные для меня письмена.
З.Ы Я нович0к в Пёрле, сильно не грузить xD
З.Ы.Ы Ответы GOOGLE вам помощ и PERLDOC читай - НЕ ПРИНИМАЮТСЯ!
З.Ы.Ы.Ы Зарание спасибо!
use PERLDOC and GOOGLE.
вот что получилось:
#!/usr/bin/perl -w
use Net::IRC;
$kanal = '#r2';
$admin = 'qbbr1';
$password = 'qwe123';
$irc = new Net::IRC;
$conn = $irc->newconn(Nick=>'qbbr_bot',Server=>'irc.antichat.net',Port=>7771);
$conn->add_global_handler('376', \&on_connect);
$conn->add_global_handler('disconnect', \&on_disconnect);
$conn->add_global_handler('kick', \&on_kick);
$conn->add_handler('msg', \&on_msg);
$conn->add_handler('public', \&on_public);
$irc->start;
sub on_connect {
$self = shift;
$self->privmsg('nickserv', "identify $password");
$self->join($kanal);
$self->privmsg($kanal, "HIHO ALL xD");
}
sub on_disconnect {
$self = shift;
$self->connect();
}
sub on_kick {
$self = shift;
$self->join($kanal);
$self->privmsg($kanal, "SLIW...nah kick?");
}
sub on_msg {
$self = shift;
$self->privmsg($admin, "private msg");
}
sub on_public {
$self = shift;
$self->privmsg($kanal, "Im bot");
}
ВЗЫВАЮ ВАС НА ПОМОЩ
Помогите разобраться)
а теперь вопросы:
1) как сделать чтоб он, не на все -msg public- отвечал "Im bot", а чтоб на определенные команды.
2) (1) + команды принимались только от человека $admin
3) чтобы бот отвечал человеку, который написал в приват.
4) и как использовать CTCP requests
5) в чём разница между [$conn->add_global_handler] и
[$conn->add_handler]
Конечно таких ботов куча... но я не осилил исходники(( уж сильно большие и непонятные для меня письмена.
З.Ы Я нович0к в Пёрле, сильно не грузить xD
З.Ы.Ы Ответы GOOGLE вам помощ и PERLDOC читай - НЕ ПРИНИМАЮТСЯ!
З.Ы.Ы.Ы Зарание спасибо!