Irc on edelleen päivittäinen “työkalu” ja vapaa-ajan huvitteeni. Hengailen muutamilla kanavilla; yksi on porukkamme virtuaalinen olohuone jo jostain 1990-luvun puolestavälistä saakka. Pari muuta kanavaa on myös erittäin kiinnostavia; jossa enemmän pelkästään WordPress / muuta tekniikkaläppää. Oli vain ajan kysymys, milloin into tehdä botti kanavalle iskisi (irccasin vain 22 vuotta ennen tätä..)
On siis aika!
Ai tää on nyt niistä boteista?
Ei. Tää ei oo niistä droideista. Siirry eteenpäin [viittilöintiä 70-luvun kaapupropseissa].Nyt ei rakenneta bottia webbisivulle, vaikka ne ois kuinka in.Boteista on puhuttu tosi paljon viime aikoina myynnin automaation työkaluina. Irc-botti on periaatteiltaan aivan samanlainen: se on vain yksinkertaisempi ja arvattavampi, kuin myynnissä usein käytetyt tekoälyt, joilla pyritään tekemään ihmisenkaltainen keskustelukumppanit web-sivuille chattiin. Botin perusperiaate on:
- liittyä kanavallekuunnella joko yksityisviesteinä tai kanavalle annettuja tekstikomentojatehdä komennon perusteella esimerkiksi webbiin kohdistuva hakubotti joko “keskustelee” takaisin kanavalle tekstinä, tai tekee IRC-protokollan määrittelemiä komentoja joista on hyötyä botin käyttäjälleusein botin käyttäjä jollain tapaa tunnistetaan, eli tuntemattoman irccaajat eivät voi käyttää bottia väärin omiin tarkoituksiinsa
Irc-maailma koostuu palvelimista, jotka keskenään vaihtavat tilaa ymmärtämänsä “keskusteluavaruuden” tapahtumista:
- minkä nimisiä kanavia on olemassa
- mitkä ovat kanavien ominaisuudet eli liput
- kuka henkilö on milläkin kanavalla
- mitä henkilöt (nick) sanoo
- millaisia toimenpiteitä henkilö haluaa tehdä komennoilla
Avoin lähdekoodi ja bottien valmisreseptit
Irc-botti on hyödyllinen kapistus. Niitä saa valmiinakin lähdekoodina. Eikä ole yhtään huonompi idea käyttää hyväksi valmista koodia, jos mahdollista. Moni asia toistuu boteista toiseen lähes samanlaisena: harvemmin botin luojaa kiinnostaa esimerkiksi ns. ruohonjuuritason IRC-protokollaan tai muihinkaan protokolliin liittyvät asiat.Teknisesti botin ohjelmointikieltä ei rajoita mikään. Riittää että IRC-protokollan logiikka on suoraan toteutettu, tai se on otettu mukaan ohjelmaan pakettina / kirjastona. IRC:ssä kommunikoidaan tekstipohjaisella suhteellisen yksinkertaisella protokollalla. Teksti on 8-bittistä, eli Unicodea “vanhempi” perusmerkistö. Sen sijaan botin ominaisuuksien eli hyödyllisten asioiden ohjelmoiminen on paljon jännempää! Se, että voi muuttaa ja mukauttaa bottia juuri itselleen ja porukalleen sopivaksi. Samoin testaus on olennaista: käyttäytyykö tuo ohjelma, niinkuin ajattelit suunnitteluvaiheessa? Joskus yksityiskohtien kanssa tulee paljonkin temppuilua.
Pärjääkö botti tosimaailmassa?
Mikä IRC-verkossa voi koitua sitten botille ongelmalliseksi?
- jos botti potkitaan kanavalta (kick)
- joskus servereitä siivotaan, eli niiden prosessit tapetaan, jotta serverin (mahdollisesti ehtyvä) keskusmuisti ei loppuisi kesken. Kun botin prosessi tapetaan, botti luonnollisesti lakkaa olemasta.
Mitä voit tehdä yllä oleville asioille?
Potkimiseen
Serverin suhteen en ole varma. Kuvittelisin, että oman VPS:n liisaaminen eli virtuaaliserverin vuokraaminen on keino välttää mielivaltaiset prosessin tappamiset. Hinta on hieman korkeampi kuin satunnaisesti jonkin palvelun kylkiäisenä tulleelle serverikapasiteetille, muttei mitenkään huimasti.
Muutamia pointtereita tarpeellisiin lähteisiin
- IRC on protokollana määritelty RFC 1459 -dokumentissa
- Englanniksi wiki-sivu bottien ominaisuuksista: https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_bots
Leave a Reply