Писане на IRC бот в PERL - Статии
Писане на IRC бот в PERL
Здравейте! Днес ще ви кажа как да напишете прост irc бот на PERL. Току-що започнах да уча този език. Веднъж изтеглих книгата на Клинтън Пиърс - "Овладейте Perl за 24 часа" Ще кажа веднага - книгата е така, така, само основите (Но точно това ми трябваше) И когато стигнах до модулите, попаднах на IO::Socket. Същата вечер все още седях в ирк и си помислих: "Защо не опитам."
Е, лиричното отклонение приключи =) Да започваме!
И така, какво ни трябва: ActivePerl, интернет връзка, mIRC (или друг клиент за IRC), минимални познания за PERL и документация за IRC протокола от страна на клиента (използвах ]]> http://tools.ietf.org/html/rfc2812) ]]>
Е, зададохме променливите, има начало =) Сега отиваме на документацията, виждаме, че първото нещо, което трябва да изпратим, е
Така че нека го направим 8) В променливата $socket въвеждате NICK $nick, \r\n - връщане на каретката към следващия ред (същото като Enter)
Продължавайки напред, следващата команда трябва да бъде:
Готово, ботът е влязъл в irk сървъра, влязъл е в канала, НО след известно време ще бъде изхвърлен поради (Ping timeout) Разбира се, нямаме нужда от това. Според протокола след известно време сървърът не изпраща заявка като "PING : irc.site.com" и трябва да изпратим PONG отговор. Отивайки до документацията, виждаме:
"Шкодим" през примката Готово! Сега нашият бот може да се свърже със сървъра, да влезе в канала и да "не се срине" 8) Но все пак нещо липсва, нали? =) Айде да направим така, че при влизане в канала да казва здравей: Страхотно! Но бот без команди не е бот, нали? =)
Ето пример за някои: (пишем в цикъла while()) Всъщност, ето го, най-простият бот е готов! =)
Дадох ви основите, а след това нека да го направим сами. Моля ви да не критикувате силно, защото едва наскоро се заех с изучаването на перлите. Бих се радвал да чуя вашите критики и коментари. По-долу е целият източник на бота. Благодаря ви за вниманието!
чехли с череши
Брой потребители, които четат тази тема: 0
0 потребители, 0 гости, 0 анонимни