Joker IRC bot

Наш родной, первый и единственный бот для IRC по имени Joker. Сейчас это полноценный IRC-бот написанный на PHP. Имеет небольшую, но интересную историю, берущую начало из 2001 года. Проект был на mIRCScript, пережил трудные времена и вновь вернулся, портированый на язык PHP и готовый к дополнению вашими идеями.

Проект Joker IRC bot в GitHub

Кто или что такое Joker

В 2001 году на канале #blackcrystal в сети QuakeNet появился бот. Бот как бот, ничем особо не примечательный. Умел он всего-лишь шутки шутить по запросу юмористов вышеобозначенного канала. И имя ему было соответственно «шутник» Joker.

Joker на mIRCSript (2001-2005)

Так вот, бот был простым клиентом mIRC с программой, написанной на скриптовом языке для этого клиента. Я только начинал его изучать и много экспериментировал.

Со временем шутки захотелось добавлять в бота, а лучше чтобы админ этих шуток мог это сделать сам. В свободное от безделия время, Сергей Miami пописывал Joker’у новые возможности одну за одной.

Joker научился вести статистику посещаемости каналов, переводить фразы, играть в несколько занимательных игр, вести онлайн-репортажи о матчах по Quake2 и Quake3, опать админов и банить грубых нарушителей, проводить голосования, узнавать температуру в любом городе и у любого из пользователей используя внешний usbжопный термометр, передавать короткие сообщения оффлайн пользователям и фидбеки админам, с выходом mIRC 6 появилась возможность создавать трансляции между несколькими IRC-сетями, и многое другое.

Спустя годы, глядя на того Jokerа душа радуется, уж больно хорош был бот на mIRCScript, некоторым вещам поражаюсь даже сейчас. Однако mIRC не вечен, как и скриптование на нём. Понадобились новые возможности, бóльшая производительность и последняя капля — сервер BlackCrystal из Windows перекочевал на Linux. Тут и закончилась история Joker’а для mIRC и началась другая.

Joker на Visual Basic (2003-2004)

Эта разработка долгое время пыталась выйти в свет и писалась наравне с mIRCScript’овой версией. Время-от-времени открывался старый код на VB, чуть допиливался и откладывался вновь. На VB ни одного релиза Joker’а не было, хотя помню что функционал Seen я таки осилил.

Joker на PHP (начат в 2010)

На некоторое время позабыв о боте и IRC-сети, я выпал из процесса. Но к хорошему делу приятно вернуться с новыми знаниями и свежим, так сказать, подходом. Я занялся портированием старого функционала на новый лад, не результата ради — а эксперимента для. Чтобы было интереснее, я поставил перед собой ряд задач:

  • Бот должен иметь расширяемый набор функционала (плагины)
  • Подключение новых плагинов и перезагрузка их без остановки бота
  • Возможность передавать информацию между плагинами
  • Примеры самых востребованых возможностей (seen, temp, joke), документация для разработчиков
  • Создание улучшенного парсера RAW-команд протокола IRC
  • Возможность запустить несколько ботов из одной программы, подключив например к разным сетям
  • Возможность передавать информацию между ботами

И работа началась. Работа идёт с большими временными промежутками между частями, по причине лени. Но удовольствие получаю огромное, поэтому рано или позно все части задания будут выполнены.

Свежую версию Joker на PHP можно скачать из репозитория Github. Буду рад замержить ваши старания, если получится что-нибудь интересное, клонируйте проект на здоровье!

Проект освещён в сети на ресурсах: