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)
|
2017-02-27 01:10:25 +01:00
|
|
|
- invitare persone in una stanza
|
2015-10-01 19:53:05 +02:00
|
|
|
- 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
|
|
|
|
2017-02-27 01:10:25 +01:00
|
|
|
Asjon è sempre online su [matrix](https://matrix.org/) con l'username `@asjon:maxwell.ydns.eu`
|
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
|
|
|
|
2018-06-20 20:12:48 +02:00
|
|
|
- `node` e `yarn`
|
2015-04-26 15:30:43 +02:00
|
|
|
- `redis` se si vuole salvare la sua memoria in maniera persistente
|
2017-02-27 01:10:25 +01:00
|
|
|
- `graphicsmagick` per la compressione delle immagini
|
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
|
|
|
|
|
2018-06-20 20:12:48 +02:00
|
|
|
$ yarn install
|
2015-10-01 19:53:05 +02:00
|
|
|
|
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
|
|
|
|
|
2018-06-20 20:12:48 +02:00
|
|
|
$ nix-shell --argstr mode run
|
2015-10-01 19:53:05 +02:00
|
|
|
|
|
|
|
Altre `mode` possibili sono:
|
|
|
|
|
2017-02-27 01:10:25 +01:00
|
|
|
* `run`: avvia asjon sull'adapter di maxwell (è necessario impostare user/pass con le rispettie variabili)
|
2015-10-01 19:53:05 +02:00
|
|
|
* `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:
|
|
|
|
|
2018-06-20 20:12:48 +02:00
|
|
|
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`.
|
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
|
|
|
|
2017-02-27 01:10:25 +01:00
|
|
|
Il ramo `master` di Asjon è sempre hostato online ed è accessibile tramite matrix all'username
|
|
|
|
`@asjon:maxwell.ydns.eu`.
|
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
|