# Asjon ROBOT Asjon è un chat bot creato usando l'[Hubot][hubot] framework. Asjon può: - cercare immagini e video su internet - cercare testi musicali su internet - collegarsi al registro elettronico e al sito web dell'IIS Galilei di Crema (se munito di credenziali), visualizzando l'agenda scolastica, i compiti e le circolari - riportare il meteo per Crema - ricordare nozioni o date arbitrarie - visitare [9gag](http://9gag.com) - e tante altre cose! Asjon è sviluppato in collaborazione con gli studenti della 5IA (2014/2015) dell'IIS Galileo Galilei di Crema. [hubot]: http://hubot.github.com ## Usare Asjon Asjon è sempre online su Telegram con l'username `Asjon ROBOT` ## Sviluppare Asjon Puoi testare asjon seguendo queste istruzioni, però alcuni componenti necessitano di [variabili d'ambiente](#configuration) particolari per essere configurati correttamente (ad esempio i dati di accesso al registro elettronico per l'agenda) ### Dipendenze Asjon necessita di: - `node` e `npm` - `redis` se si vuole salvare la sua memoria in maniera persistente - `phantomjs` per utilizzare il modulo agenda/compiti ### Installazione 1. installare le dipendenze. Su arch linux: `pacman -S python2 nodejs phantomjs redis` 1. clonare questa repo 1. lanciare `npm install` (__Attenzione:__ usare `PYTHON=python2 npm install` su arch linux!) per installare tutte le dipendenze npm 1. se vuoi che Asjon conservi i ricordi tra una sessione e l'altra, avvia redis (su arch linux: `systemctl start redis`) 1. lanciare `bin/hubot` per testare il bot. Per usare le variabili d'ambiente usare la sintassi di bash `VARIABILE=valore VAR2=valore2 bin/hubot`. ### Utilizzo Puoi avviare asjon eseguendo $ bin/hubot Se tutto va bene dovrebbe comparire una cosa del genere: [Sat Feb 28 2015 12:38:27 GMT+0000 (GMT)] INFO Using default redis on localhost:6379 asjon> Puoi interagire con asjon scrivendo `asjon help` o qualsiasi altro suo comando. ### Test Asjon dispone di alcuni test d'integrità nella cartella `test/`. Per eseguirli, occorre: 1. installare [mocha](http://mochajs.org) tramite `npm install -g mocha` (potrebbe essere necessario sudo) 1. lanciare i test tramite `npm test` dalla cartella della repo 1. opzionalmente è possibile generare i report di copertura dei test usando `npm run coverage-html` o `npm run coverage-json` in base al formato desiderato. __Nota Bene:__ è opportuno __eseguire sempre i test d'integrità prima di contribuire una modifica__. Ancora meglio sarebbe allegare dei test di integrità insieme alle nuove funzioni aggiunte ### Scripting Gli script di Asjon sono nella cartella `scripts`. La [Scripting Guide](scripting-docs) di hubot è molto utile per imparare come funzionano [scripting-docs]: https://hubot.github.com/docs/scripting/ ### Hosting Asjon può essere hostato come un qualsiasi Hubot, ma richiede phantomjs per alcune funzioni. Il ramo `master` di Asjon è sempre hostato online ed è accessibile tramite telegram all'username Asjon ROBOT. ## Licenza Hubot e Asjon sono distribuiti sotto la MIT License