BirbaBot, unofficialy lamerbot: work in progress

BirbaBot è un (ro)bot per IRC, sviluppato in Perl "sopra" il framework POE. github repository

Backend

SQLite

Funzioni IRC

  • Connessione tramite IPv4 e IPv6
  • Identificazione al server IRC tramite Nickserv.
  • Riconnessione automatica, in caso di ping timeout o netsplit del server IRC.
  • channel autorejoin, in caso di kick.
  • Possibilità di /query, con alcune restrizioni per svariati plugin sensibili (e.g. ricerche con google).

Plugin

  • feeds RSS (gestore news)
  • factoids (foo is blah): a partire dalla versione 1.6 sono supportati anche i fattoidi del bot dpkg (#debian)
  • seen (tiene traccia degli utenti che entrano ed escono dal canale)
  • google (ricerca testo, immagini, video)
  • karma (nick++)
  • dns, geoip query (lookup e localizzazione geografica per ip)
  • weather (meteo per città, google Yahoo API)
  • todo (strumento per gestire attività di interesse comune in canale)
  • quotes (gestisce le citazioni in canale: aggiunta, rimozione, richieste)
  • translator (babelfish) - Purged from v.1.3
  • remind (sveglia programmabile)
  • choose (strumento simile al lancio della moneta: fai scegliere al bot)
  • bash (recupera citazioni da bash.org)
  • urban (recupera definizioni dall'urban dictionary)
  • math (esegue semplici calcoli)
  • notes (strumento per lasciare un messaggio ad un utente offline)
  • anotes (gestione amministrativa delle notes)
  • wikiz (effettua una ricerca su di questo wiki)
  • urls_shortener (accorcia gli indirizzi web lunghi)
  • youtube (restituisce il titolo dei video)
  • tail (emulatore della funzione *nix tail)
  • sitedown (verifica se un sito è raggiungibile o meno)
  • uptime (informa da quanto tempo il bot è in esecuzione)
  • free (restituisce l'uso della memoria nel sistema host)
  • pull (esegue un git pull dal ramo corrente)
  • restart (riavvia il bot)
  • deb (ricerca le versioni di un pacchetto in differenti rami (release) Debian)
  • debsearch (ricerca pacchetti debian per nome)
  • public commands (op/deop/voice/devoice/mode/kick/kb/topic)
  • timebomb game
  • psyradio titles broadcasting
  • admin
  • whoami

Configurazione e Gestione del bot

  • File di testo per la configurazione iniziale (usa yaml dalla rc4)
  • Comandi utente per i plugin
  • Log su file/console

Utilità

  • Scripts per importare/exportare/salvare i fattoidi del bot dpkg (#debian)

STATUS

  • Leggere materiale introduttivo per POE => fatto
  • Leggere documentazione di POE::Component::IRC => fatto
  • Scrivere prototipo di bot che legga un file di configurazione e si connetta => fatto
  • Scrivere funzioni per scaricare ed analizzare RSS => fatto
  • Scrivere funzione per richiedere un tinyurl => fatto
  • Innestare gli RSS + tinyurl nel bot, con uno scheduler => fatto
  • Scrivere codice per backend di archiviazione (sqlite o file di testo? -- non che cambi molto, visto che la query di sqlite apre comunque un file) => ci pensa ruff, con SQLite
  • Scrivere Sessione di POE che ogni tot scarichi il feed, controlli se la voce esiste nel database e faccia il post nella sessione del bot, il quale a sua volta sputi il feed in canale. => fatto
  • Pulire db => fatto
  • DNS lookup => fatto !lookup
  • GeoIP queries => fatto !geoip
  • Aggiungere RSS al volo => fatto, ma bisogna aggiungere test
  • Cancellare anche i dati dei feed alla rimozione definitiva degli stessi => fatto
  • Aggiungere orario per gli eventi nello stdout (messaggi, modes, comandi, log eventi..) => fatto
  • TODO spostato in canale IRC.

Versioni

  • 2011-12-13: BirbaBot v.1.0-rc1 ready! duct tape inside!
  • 2012-02-10: BirbaBot v.1.0-rc2 is out!
  • 2012-02-26: BirbaBot v.1.0-rc3 is out!
  • 2012-03-12: BirbaBot v.1.0-rc4 is out!
  • 2012-04-21: BirbaBot v.1.0 Stable Release is out!
  • 2012-05-25: BirbaBot v.1.1 is out!
  • 2012-05-28: BirbaBot v.1.2 is out!
  • 2012-06-03: BirbaBot v.1.3 is out!
  • 2012-06-04: BirbaBot v.1.4 is out!
  • 2012-06-19: BirbaBot v.1.5 is out!
  • 2012-08-30: BirbaBot v.1.6 is out!
  • 2012-11-05: BirbaBot v.1.7 is out!
  • 2013-01-28: BirbaBot v.1.8 is out!
  • 2013-04-18: BirbaBot v.1.8.1 is out!
  • 2013-06-06: BirbaBot v.1.8.2 is out!
  • 2013-07-09: BirbaBot v.1.8.3 is out!
  • 2013-10-25: BirbaBot v.1.8.4 is out!
  • 2014-02-16: BirbaBot v.1.8.5 is out!

STATS

Feel free to add new bots to the list editing this page, or let me know the required informations so that i can update the stats for you. meeeeow

Currently running BirbaBots:

Owner Bot-Nick Network Channel SSL IPv6 OS
- - - - - - -
roughnecks Birba freenode #BirbaBot Y Y Debian