Пишемо IRC бота на PERL - Статті

  • пишемо
  • Members
  • 152 повідомлень
  • Пишемо IRC бота на PERL

    Вітаю! Сьогодні я розповім вам, як написати простенького irc бота на PERL. Сам нещодавно тільки взявся за вивчення цієї мови. Якось скачав книгу Клінтон Пірс - "Освій самостійно Perl за 24 години". натрапив на IO:: Socket. Того вечора я ще сидів у ірці, і подумав: "А чому б не спробувати."

    Ну ось, ліричний відступ скінчився =) Почнемо!

    І так, що нам знадобиться: ActivePerl, підключення до інтернету, mIRC(або інший клієнт для IRC), мінімальні знання PERL, а також документація протоколу IRC з боку клієнта (я брав ]]> .ietf.org/html/rfc2812) ]]>

    Ну ось, змінні ми задали, початок є =) Тепер йдемо до документації, бачимо, що насамперед ми повинні надіслати

    Так і зробимо 8) У змінну $socket ви вводимо NICK $nick, \r\n - переклад каретки на наступний рядок (те саме що і Enter)

    Йдемо далі, наступною командою має бути:

    Готово, бот законнектівся на ірк сервер, зайшов на канал, АЛЕ, через якийсь час його викине через (Ping timeout) Цього нам звичайно ж не потрібно. За протоколом, через якийсь час, сервер посилає запит виду "PING : irc.site.com", а нам треба відправити відповідь PONG. Йдемо до документації, бачимо:

    "Шкодим" через цикл Готово! Тепер наш бот вміє коннектитися до сервера, заходити на канал і "не вилітати" 8) Але все одно чогось не вистачає, правда? =) Давайте зробимо, щоб при заході на канал, він говорив привіт: Дуже! Але бот без команд, це не бот, правда? =)

    Наведу приклад деяких: (пишемо в цикл while() ) Власне ось він, найпростіший бот готовий! =)

    Основи я вам дав, далі давайте самі. Прошу сильно не критикувати, бо нещодавно взявся за вивчення перл. З радістю вислухаю вашу критику та зауваження. Нижче наведу весь вихідний робот. Дякую за увагу!

  • perl
  • Honourаble
  • 189 повідомлень
  • тапочег з вишнею

  • пишемо
  • Moderator
  • 256 повідомлень
  • Кількість користувачів, які читають цю тему: 0

    0 користувачів, 0 гостей, 0 анонімних