Un bot IRC è un insieme di script o un programma indipendente che si collega ad un server IRC proprio come fa un client, e gli altri utenti IRC lo vedono proprio come uno di loro. Il bot IRC è diverso da un normale client che fornisce accesso interattivo per gli utenti umani, esso esegue funzioni automatizzate.
Storicamente i più vecchi bot IRC sono stati Bill Wisner's Bartender and Greg Lindahl's GM (Game Manager erano gestori di gioco ed in particolare del gioco Hunt the Wumpus)[1]. Con il passare del tempo, i bot si sono evoluti per fornire servizi speciali, come la gestione di canali per conto di un gruppo di utenti, mantenendo liste di accesso, e fornendo accesso ai database.
Spesso, un bot IRC è usato come un programma distaccato che funziona da ospite fisso, è presente su un canale IRC per tenerlo aperto e impedire agli utenti pericolosi di prendere il canale (in gergo takeover). Il bot IRC può essere configurato per dare lo stato di operatore ad utenti privilegiati ogni volta che entrano in canale, e può fare una lista unificata degli operatori di canale. Molte di queste caratteristiche richiedono che il bot sia un operatore di canale. Così, molti bot IRC sono installati su server che hanno tempi di uptime molto alti (solitamente sono installati su sistemi Unix-like) con connessioni ad internet stabili e veloci. Siccome IRC era diventato popolare, ma molti utenti avevano una connessione di tipo dial-up, non adatta per far funzionare un bot dato che il bot deve essere sempre connesso per svolgere le sue funzioni; allora nacquero dei servizi come le note shell provider che mettono a disposizione un account sul loro server per potere installare e far funzionare i bot.
Un bot può svolgere anche altre funzioni molto utili, come memorizzare ciò che succede su un canale IRC, dando informazioni su richiesta, creare statistiche, ospitare giochini per intrattenere gli utenti. Queste funzionalità sono spesso fornite dagli script scritti dagli utenti, spesso sviluppati con un particolare linguaggio di scripting come Tcl o Perl, e aggiunti al bot in questione. I canali dedicati al file sharing spesso usano bot XDCC per distribuire i loro file.
I bot IRC sono molto utilizzati sui network IRC senza i servizi di registrazione del canale come ChanServ, come su EFnet e IRCnet, e su network che possono impedire la registrazione di canali se non si soddisfano certi requisiti (ad esempio un numero di utenti minimo, ed altri), come accade su Undernet e QuakeNet.
I bot IRC non sono sempre i benvenuti, molti network IRC proibiscono l'uso di bot. Una delle ragioni è che in questo modo ogni nickname connesso al network incrementa la dimensione del database il quale deve essere sincronizzato con tutti gli altri server del network IRC. Permettere l'uso di bot in grandi network può causare un rilevante aumento del traffico internet, il quale ha bisogno di essere finanziato e può causare dei netsplit continui. Questo comunque è un difetto della tecnologia di IRC, non dei bot.[2][3]
Le persone che creano un bot IRC usano il linguaggio di scripting incorporato nel loro client, oppure appropriati framework di un adatto linguaggio di programmazione per connettersi ai server IRC, oppure si usano implementazioni di bot già esistenti, adattate alle proprie necessità.