# Asjon ROBOT Asjon è un chat bot creato usando l'[Hubot][hubot] framework. Asjon può: - cercare immagini e gif su internet - cercare video di youtube - riportare il meteo - ricordare nozioni o date - creare memes - fare calcoli e risolvere problemi con wolfram|alpha - inviare immagini di [RMS](https://en.wikipedia.org/wiki/Richard_Stallman) - invitare persone in una stanza - dare informazioni sui propri contatti - aprire [reverse shell](http://unix.stackexchange.com/q/46235) - aggiornarsi ed eseguire test autonomamente - e altro ancora 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 [matrix](https://matrix.org/) con l'username `@asjon:maxwell.ydns.eu` ## 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 `yarn` - `redis` se si vuole salvare la sua memoria in maniera persistente - `graphicsmagick` per la compressione delle immagini ### Installazione Si consiglia di usare di usare [nix](http://nixos.org/nix/) per gestire le dipendenze. È presente un'espressione `nix.shell` nella root del progretto che può essere usata semplicemente eseguendo $ nix-shell nella directory. Nella nuova shell installare asjon con $ yarn install ### Utilizzo Puoi avviare asjon tramite `nix-shell` con $ nix-shell --argstr mode run Altre `mode` possibili sono: * `run`: avvia asjon sull'adapter di maxwell (è necessario impostare user/pass con le rispettie variabili) * `test`: esegui i test d'integrità * `shell` (default): apre una nix-shell Puoi anche avviare asjon manualmente 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 `yarn global add mocha` 1. lanciare i test tramite `yarn test` dalla cartella della repo 1. opzionalmente è possibile generare i report di copertura dei test usando `yarn coverage`. __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. Il ramo `master` di Asjon è sempre hostato online ed è accessibile tramite matrix all'username `@asjon:maxwell.ydns.eu`. ## Licenza Hubot e Asjon sono distribuiti sotto la MIT License