Пишем своего 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  Содержание