|

Пишем своего eggdrop`а
IRC-маньякам посвящается
Xakep, номер #041, стр. 041-079-4
# Возврат значений переменных
}
Вот тут вся прелесть Perl - регулярные выражения... Всего в несколько строк кода - определяются 12 переменных, которые очень важны в работе программы.
sub msg { # Процедура передачи фразы в канал
my ($msg, $to)=@_;
$to=$defaultchan unless $to;
# Если не указан канал - берется канал по умолчанию
&send("PRIVMSG $to :$msg") # Передаем сообщение в канал
}
Упрощенный вариант &send - фраза в канал или в приват...
sub pub_msg { # Реакция на фразу в канале
&msg("Кто-то что-то сказал..."); # Например - отзовемся на нее =)
}
А здесь ты уж сам пофантазируй, что хочешь сделать... Пиши скрипты либо оформляй в отдельный файл. А в самой процедуре лишь обработай его: do "путь/к/скрипту";
Как запускать?
После отладки bot.conf выполни команды на удаленной машине:
chmod +x bot.pl
./bot.pl [conf-file] &
либо
./bot.pl [conf-file] >/dev/null &
Чтобы запустить бота в background (сообщения от бота на экран появляться не будут).
Вот собственно...
На этом я остановлюсь. Многое в этом боте недоработано - я умышленно не стал дорабатывать мелочи ($altnick - если ник занят, получение времени и т.д.). Если ты изучишь Perl - ты поймешь, как реализовать это...
Цель статьи - научить тебя писать не бота, а программировать разумно, используя процедуры и внешние файлы... Код компактен и производительность выше.
Назад на стр. 041-079-3 Содержание
|