Twitch chatbotin ohjelmointi
Hämäläinen, Juha T. (2016)
Hämäläinen, Juha T.
Mikkelin ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201605269925
https://urn.fi/URN:NBN:fi:amk-201605269925
Tiivistelmä
Opinnäytetyön tarkoituksena oli luoda botti, joka kykenee valvomaan Twitchin tarjoaman suoratoistopal-velun yhteydessä tapahtuvaa keskustelua ja antamaan streamaajalle chatin hallintaa helpottavat työkalut. Samalla oli tarkoitus tutustua siihen, millaisia tekniikoita ja toimintoja vaaditaan IRC-chattia valvovan botin luomiseksi.
Opinnäytetyön teoriaosuus käsitteli IRCn historiaa ja esitteli botin toteutuksessa vaadittuja tekniikoita.
Opinnäytetyön aikana toteutettiin botti, joka piti kyetä suoriutumaan yksinkertaisista IRC-chatin valvomi-seen liittyvistä toiminnoista, kuten tunnistamaan chatissa esiintyviä komentoja ja sanoja. Botti toteutettiin Javalla ja sen asetukset tallennettiin XML-tiedostoihin. Jotta botti kykenisi suoriutumaan sille asetetuista tehtävistä Twitchin toimintaympäristöstä, sen täytyi kyetä kommunikoimaan Twitchin IRC-palvelimen kanssa sekä Twitchin tarjoamien verkkopalveluiden kanssa.
Tämä edellytti tutustumista Javan verkkoyhteystekniikoihin sisältyviin HTTP- ja socket-luokkiin. Twitchin verkkopalvelut eli web servicet on toteutettu noudattaen REST-arkkitehtuurityylin asettamia rajoitteita ja käyttää käyttäjän tunnistamiseen OAuth-sovelluskehystä, joten opinnäytetyössä perehdytään myös siihen, kuinka Javalla luodaan yhteys RESTful-verkkopalveluun. Opinnäytetyössä selvitettiin myös APIn ja Web APIn käsitteellisiä eroja ja yhtenäisyyksiä. Käytännön osuuden alustuksessa avattiin hieman bottia käsit-teenä ja selvitettiin millaisia käyttötarkoituksia boteilla on ollut aikojen saatossa. Bottia testattiin Twitchin omassa toimintaympäristössä testikäyttäjän avustuksella. Botti suoriutui sille asetetuista vaatimuksista oletetulla tavalla.
Opinnäytetyön teoriaosuus käsitteli IRCn historiaa ja esitteli botin toteutuksessa vaadittuja tekniikoita.
Opinnäytetyön aikana toteutettiin botti, joka piti kyetä suoriutumaan yksinkertaisista IRC-chatin valvomi-seen liittyvistä toiminnoista, kuten tunnistamaan chatissa esiintyviä komentoja ja sanoja. Botti toteutettiin Javalla ja sen asetukset tallennettiin XML-tiedostoihin. Jotta botti kykenisi suoriutumaan sille asetetuista tehtävistä Twitchin toimintaympäristöstä, sen täytyi kyetä kommunikoimaan Twitchin IRC-palvelimen kanssa sekä Twitchin tarjoamien verkkopalveluiden kanssa.
Tämä edellytti tutustumista Javan verkkoyhteystekniikoihin sisältyviin HTTP- ja socket-luokkiin. Twitchin verkkopalvelut eli web servicet on toteutettu noudattaen REST-arkkitehtuurityylin asettamia rajoitteita ja käyttää käyttäjän tunnistamiseen OAuth-sovelluskehystä, joten opinnäytetyössä perehdytään myös siihen, kuinka Javalla luodaan yhteys RESTful-verkkopalveluun. Opinnäytetyössä selvitettiin myös APIn ja Web APIn käsitteellisiä eroja ja yhtenäisyyksiä. Käytännön osuuden alustuksessa avattiin hieman bottia käsit-teenä ja selvitettiin millaisia käyttötarkoituksia boteilla on ollut aikojen saatossa. Bottia testattiin Twitchin omassa toimintaympäristössä testikäyttäjän avustuksella. Botti suoriutui sille asetetuista vaatimuksista oletetulla tavalla.