Meie oma, esimene ja seni ainus bot nimega Joker, loodud meeldivaks vestlusseltskonnaks. Ta oskab lõbustada, ilmast teatada, mängida ja kaasa tunda. Täna on see täisväärtuslik PHP-s kirjutatud Telegrami bot huvitava ajalooga, mis algab aastast 2001. Algselt mIRCScriptis kirjutatud Joker elas üle rasked ajad ja naasis, porditud PHP-sse ning valmis sinu ideedega täienema.
Kes või mis on Joker
- aastal ilmus QuakeNeti võrgu kanalile #blackcrystal bot. Bot nagu bot, mitte millegi poolest tähelepanuväärne. Ta oskas vaid kanali humoristide soovil nalju visata. Sellest ka nimi — „naljamees" Joker.
Joker mIRCScriptis (2001–2005)
Bot oli lihtne mIRC-klient programmiga, mis oli kirjutatud selle kliendi skriptikeeles. Olin alles alustanud selle õppimist ja eksperimenteerisin palju.
Aja jooksul tahtsime botile nalju lisada — või veel parem, et admin saaks seda ise teha. Vabal ajal kirjutas Sergei Miami Jokerile uusi võimalusi üksteise järel.
Joker õppis pidama kanalite külastusstatistikat, tõlkima fraase, mängima mitut lõbusat mängu, tegema Quake2 ja Quake3 matšidest otsereportaaže, andma adminidele op-i ja bannima jämedaid rikkujaid, korraldama hääletusi, küsima temperatuuri mis tahes linnas — või mis tahes kasutajal välise usb-tagumiku-termomeetri abil —, edastama lühisõnumeid offline-kasutajatele ja tagasisidet adminidele. mIRC 6 tulekuga lisandus võimalus luua sildu mitme IRC-võrgu vahel ja palju muud.
Aastaid hiljem rõõmustab tolle Jokeri peale hing — mIRCScripti bot oli väga hea, mõni asi hämmastab mind siiani. Kuid mIRC pole igavene, nagu ka sellel skriptimine. Vaja oli uusi võimalusi ja suuremat jõudlust ning viimane piisk — BlackCrystali server kolis Windowsist Linuxisse. Siin lõppes Jokeri mIRC-lugu ja algas teine.
Joker Visual Basicus (2003–2004)
See arendus üritas kaua ilmavalgust näha ja seda kirjutati mIRCScripti versiooniga paralleelselt. Aeg-ajalt avati vana VB-kood, lihviti veidi ja pandi taas riiulile. Ühtegi VB-väljalaset Jokerist ei tulnud, kuigi mäletan, et Seen-funktsiooni sain siiski valmis.
Joker IRC-s PHP keeles (alustatud 2010)
Mõneks ajaks botist ja IRC-võrgust unustanud, kukkusin protsessist välja. Kuid hea asja juurde on meeldiv naasta uute teadmiste ja värske lähenemisega. Asusin vana funktsionaalsust uutmoodi portima — mitte tulemuse, vaid eksperimendi pärast. Et oleks huvitavam, seadsin endale rea eesmärke:
- botil peab olema laiendatav funktsionaalsus (pluginad)
- uute pluginate ühendamine ja taaslaadimine ilma botti peatamata
- info edastamine pluginate vahel
- näited nõutuimatest võimalustest (seen, temp, joke), dokumentatsioon arendajatele
- IRC-protokolli RAW-käskude täiustatud parser
- võimalus käivitada ühest programmist mitu botti, ühendades need näiteks eri võrkudesse
- info edastamine bottide vahel
Ja töö algas. Töö käib suurte ajavahedega osade vahel, laiskuse tõttu. Kuid naudin seda tohutult, nii et varem või hiljem saavad kõik osad tehtud.
Värske PHP-Jokeri saab alla laadida GitHubist. Mul on hea meel sinu pingutused merge’ida — kui tuleb midagi huvitavat, klooni projekt terviseks!
Projekti kajastasid freshmeat.net, phpclasses.org ja phpkode.com.
Joker Telegramis (alustatud 2019)
Ja taas, peaaegu kümme aastat hiljem, tekkis põhjus bot ümber kirjutada. IRC-võrk oli kadunud teiste rariteetide sekka, nagu ka side justkui kõigiga, kes seal elasid. Ometi õnnestus meil imekombel koguda paljud kanali „vanad olijad" kokku peaaegu 20 aastat hiljem. Ja lisada alaline moderaator, kes oli kolinud elama Telegrami — „naljamees".
Eesmärgid on ikka samad ja plaanid liiguvad veidi kiiremini tänu meie Telegrami kanali rahvale. 2020. aastal oli Jokeri repositooriumis juba kaks panustajat ja 13 pluginat ning bot töötas kuude kaupa ilma taaskäivitusteta!
- aasta alguses on meil 16 pluginat. Arhitektuuris suuri muutusi pole, kuid lisandus hulk uusi ideid: asünkroonne kood, PHP 8 ja muud eksperimendid. Võtame vastu ja täidame tellimusi uutele pluginatele, bot haldab kuni 40 liikmega kanaleid.
Klanni sünnipäevaks, 2021. aasta mais, ilmus boti esimene avalik väljalase — versioon 1.5.0. Toimus üsna suur uuendus igas suunas: paranes Telegrami sõnumite töötlus, täiustati peaaegu kõiki pluginaid — neid oli siis 22 — ja kirjutati palju uut funktsionaalsust. Projekti jõudsid viimaks andmebaasid, kuhu kogutakse külastajate aktiivsust, pluginate andmeid ja muud kasulikku.
September 2021. Värsked väljalasked tulevad umbes kord kuus, peamiselt lisanduvad pluginad — neid on juba 32. Ideed on peaaegu otsas ja mõtted lendavad selle poole, kuidas anda botikesele teadvus ehk, nagu öeldakse, tehisintellekt.
Tõenäoliselt järgneb :)
Joker Telegram boti projekt GitHubis
