Joker

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

Кто или что такое 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 в IRC на PHP (начат в 2010)

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

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

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

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

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

Проект Joker IRC bot в GitHub

Joker в Telegram (начат в 2019)

И вновь, спустя почти десяток лет появился смысл переписать бота. Сеть IRC была утеряна среди прочих раритетов, как и связь, казалось бы, со всеми кто там был. Однако, чудесным образом нам удалось собрать многих из “бывалых” жителей канала спустя почти 20 лет. И добавить бессменного модератора, переехавшего жить в Телеграмм, “шутника”.

Цели у нас всё те же, планы по написанию идут немного шустрее благодаря поддержке ребят с нашего телеграм-канала. В 2020 году в репозитории Джокера уже целых два вкладчика и 13 плагинов, бот успешно работает месяцы без перезагрузок!

В начале 2021 года у нас 16 плагинов. Существенных изменений в архитектуре не произошло, но появилось куча новых идей: асинхронный код, php8 и другие эксперименты. Принимаем и выполняем заказы на новые плагины, бот управляет каналами до 40 участников.

Ко дню рождения клана, в мае 2021 года, вышел первый публичный релиз бота версия 1.5.0. Произошёл довольно крупный апдейт во всех направлениях. Улучшена работа с сообщениями телеграма, усовершенствованы почти все плагины коих сейчас 22, дописано много нового функционала. В проекте наконец-то появились базы данных, куда собирается активность посетителей, записываются данные из плагинов и прочая полезная информация.

Сентябрь 2021. Свежие релизы бота происходят примерно раз в месяц. Добавляются в основном плагины, коих уже 32. У нас почти закончились идеи, и мысли летят в сторону придания ботику сознания, или как говорится искуственного интеллекта.

Продолжение, скорее всего, следует :)

Проект Joker Telegram bot в GitHub

 

Buj :p

 

en_USEnglish