asjon/README.md

109 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

2015-04-26 15:30:43 +02:00
# Asjon ROBOT
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
Asjon è un chat bot creato usando l'[Hubot][hubot] framework.
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
Asjon può:
2015-10-01 19:53:05 +02:00
- 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 un gruppo di telegram
- dare informazioni sui propri contatti
- aprire [reverse shell](http://unix.stackexchange.com/q/46235)
- aggiornarsi ed eseguire test autonomamente
- e altro ancora
2015-04-26 15:30:43 +02:00
Asjon è sviluppato in collaborazione con gli studenti della 5IA (2014/2015)
dell'IIS Galileo Galilei di Crema.
2015-04-23 14:17:30 +02:00
[hubot]: http://hubot.github.com
2015-04-26 15:30:43 +02:00
## Usare Asjon
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
Asjon è sempre online su Telegram con l'username `Asjon ROBOT`
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
## 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)
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
### Dipendenze
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
Asjon necessita di:
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
- `node` e `npm`
- `redis` se si vuole salvare la sua memoria in maniera persistente
2015-10-01 19:53:05 +02:00
- `telegram-cli` con supporto python per l'adapter di telegram
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
### Installazione
2015-04-23 14:17:30 +02:00
2015-10-01 19:53:05 +02:00
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
$ npm install
2015-04-23 14:17:30 +02:00
2015-04-27 16:40:35 +02:00
### Utilizzo
2015-04-23 14:17:30 +02:00
2015-10-01 19:53:05 +02:00
Puoi avviare asjon tramite `nix-shell` con
$ nix-shell --arg mode \"run\"
Altre `mode` possibili sono:
* `runTg`: avvia asjon sull'adapter di telegram (è necessario fare il login al primo utilizzo)
* `test`: esegui i test d'integrità
* `shell` (default): apre una nix-shell
Puoi anche avviare asjon manualmente eseguendo
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
$ bin/hubot
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
Se tutto va bene dovrebbe comparire una cosa del genere:
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
[Sat Feb 28 2015 12:38:27 GMT+0000 (GMT)] INFO Using default redis on localhost:6379
asjon>
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
Puoi interagire con asjon scrivendo `asjon help` o qualsiasi altro suo comando.
2015-04-23 14:17:30 +02:00
2015-04-27 16:40:35 +02:00
### 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.
2015-04-27 16:40:35 +02:00
__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
2015-04-26 15:30:43 +02:00
### Scripting
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
Gli script di Asjon sono nella cartella `scripts`.
La [Scripting Guide](scripting-docs) di hubot è molto utile per imparare come funzionano
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
[scripting-docs]: https://hubot.github.com/docs/scripting/
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
### Hosting
2015-04-23 14:17:30 +02:00
2015-10-01 19:53:05 +02:00
Asjon può essere hostato come un qualsiasi Hubot.
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
Il ramo `master` di Asjon è sempre hostato online ed è accessibile tramite telegram all'username
Asjon ROBOT.
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
## Licenza
2015-04-23 14:17:30 +02:00
2015-04-26 15:30:43 +02:00
Hubot e Asjon sono distribuiti sotto la MIT License