IRC-botti

Käyttäjätietokanta

Boteissa on käyttäjätietokanta, jonka avulla botit muistavat kanavalla käyneet irkkaajat. Tietoihin talletetaan tavallisesti vähintään nick, host ja käynnin aikaleima. Irkissä käyttäjät tunnistetaan nimimerkin ja hostin perusteella. Näiden tietojen lisäksi tietokannassa voi olla erillinen handle, jonka käyttäminen sallii samalle tunnukselle useamman eri lempinimen käytön.
Käyttäjätietoihin talletetaan myös irkkaajan oikeustaso kanavalla ja botin suhteen. Näillä oikeustasoilla määritellään, kenellä on oikeus käyttää botin palveluja, kenellä on oikeus olla kanavaoperaattorina, kenellä on puheoikeus (moderoidulla) kanavalla tai mitä tahansa muuta oikeuksiin liittyvää.

Kanavatietokanta

Boteissa on tiedot myös kanavista, joita botti hallitsee tai seuraa. Kanavien tiedoissa on määritelty rajat erilaisille floodeille. Floodeja ovat kanavalle suolletun tekstin tulva, kanavalleliittymistulva, actiontulva, lempinimenvaihtotulva, kanavaltapoistumistulva (harvinainen). Kanavakohtaisiin asetuksiin kuuluu myös idle-aika. Se on aika, jonka käyttäjä voi olla kanavalla puhumatta mitään. Sen jälkeen botti potkaisee irkkaajan ulos. Näin estetään kanavalla roikkumiset.
Kehittyneemmissä bottijärjestelmissä voidaan kanavakohtaisesti määritellä, jaetaanko käyttäjätiedot bottien kesken, toimivatko botit aggressiviisesti, rangaistaanko ystäviä vastaan kapinoivia, yms.
Boteissa voi olla myös muita tietokantoja, joita käytetään skripteillä.

Skriptit ja moduulit

Erilaisilla skripteillä ja moduuleilla lisätään IRC-botin toiminnallisuutta halutuksi. Skripteissä käytetään yleensä tapahtumapohjaista ohjelmointikieltä. Tällainen kieli on esimerkiksi Eggdropissa käytetty TCL. Tapahtumapohjaisissa skripteissä tehdään toimenpide silloin kun jokin tapahtuma tapahtuu. Esimerkiksi joku tulee kanavalle.
Skriptejä voi tehdä itsekin, jos omaa perustaidot ohjelmoinnista. Näin kanavasta saa persoonallisen ja haluamallaan tavalla toimivan.

Botnet

Botnetit ovat IRC-bottien verkkoja, joiden avulla linkitetään kaksi tai useampi botti yhteen. Toinen IRC-kanavalla oleva botti voi kutsua toisen botin invite-only -kanavalle tai avaimella suojatulle kanavalle, jolloin tulevaan bottiin ei tarvitse erikseen asettaa kulloistakin avainta. Botit voivat jakaa toisillensa käyttäjätiedot. Silloin bottien toiminta yhdellä kanavalla on yhtenäistä, eikä tule bottisotia. Laajemmissa kanavissa kaikkia botteja ei liitetä yhteen bottiverkkoon, sillä koko botnetin haavoittuminen haavoittaisi kanavan kaikki botit.
Botnettejä käytetään myös muun kuin käyttäjätietojen jakamiseen. Esimerkiksi kanavan muutettu käyttäjärajoitus (limit) voidaan välittää kanavan kaikille boteille botnetin kautta. Tai idle-kick -aikaa voidaan vaihtaa ja botnetin kautta kaikki kanavan botit saavat uudet tiedot. Botteja voidaan asettaa käynnistämään uusia botteja, jos jokin botti kanavalla tulee toimintakelvottomaksi tai häviää.
Botnetin botit voivat bannata käyttäjiä synkronoidusti.

Bottiverkkojen epäeettinen käyttö

Bottiverkkoja käytetään myös muihinkin tarkoituksiin kuin palveluiden toteuttamiseen IRC-keskustelukanavilla. Bottiverkkoja käytetään usein tietomurtojen yhteydessä, jossa tietokoneille annetaan käskyjä IRC-kanavalla. Bottiverkkoon mukaan orjakoneiksi kaapatuista koneista ylivoimaisesti suurin osa toimii Windows-käyttöjärjestelmällä. Yksi laajimmista bottiverkoista on (ollut) hollantilainen bottiverkko, jossa oli yli satatuhatta tietokonetta. Bottiverkkoja käytetään vain harvoissa tapauksissa taloudellisen hyödyn saamiseen. Bottiverkot ovat kuitenkin yksi nopeimmin kasvavista Internetin liiketoimintamalleista, sillä niitä voidaan myydä tai vuokrata, käyttää koneen omistajan huomaamatta.
Bottiverkon orjakoneita käytetään roskapostien spamminvälittäjinä, ja (tilaustyönä) palvelunestohyökkäyksiin. Bottikoneita käytetään myös phishing-kalasteluun ja väärennettyjen verkkopalvelujen pyörittämiseen. Bottiverkkoja on käytetty myös www-sivujen klikkauksien perusteella maksavien mainostajien huijaamiseen.
Bottiverkkoihin sovelletaan nykyisin p2p-verkon ominaisuuksia. Näiden hajautettujen verkkojen paikantaminen, seuraaminen ja hajottaminen on perinteisiä bottiverkkoja vaikeampaa.

Bottisota

Bottisodaksi nimitetään kahden tai useamman IRC-botin syklistä päättymätöntä toimintaa (deadlock), jossa toinen botti kumoaa toisen botin tekemän toimenpiteen. Tavallisin tällainen ristiriita on kanavaoperaattorin oikeuksien jakaminen jollekin irkkaajalle tai toiselle botille. 
Botit, joilla on tekoälyominaisuuksia, voivat jopa keskustella keskenään älykkäästi. Todennäköisesti keskustelu päättyy jossain vaiheessa itsestään. Tätä ei kutsuta bottisodaksi.
Bottisotiin johtavia synkronoimattomia tilanteita voidaan vähentää käyttämällä kanavan eri botteja yhdistävää botnettia.