Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aglezabad/njslinuxbot
(DEPRECATED) NodeJS Linux themed bot based on Simon Holywell's bot, Hubot GTalk adapter and ALICE.
https://github.com/aglezabad/njslinuxbot
aiml-interpreter chatbot draft nodejs
Last synced: about 2 months ago
JSON representation
(DEPRECATED) NodeJS Linux themed bot based on Simon Holywell's bot, Hubot GTalk adapter and ALICE.
- Host: GitHub
- URL: https://github.com/aglezabad/njslinuxbot
- Owner: Aglezabad
- License: gpl-3.0
- Created: 2014-10-06T06:46:17.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2018-03-02T19:29:06.000Z (almost 7 years ago)
- Last Synced: 2023-12-17T08:50:27.723Z (about 1 year ago)
- Topics: aiml-interpreter, chatbot, draft, nodejs
- Language: JavaScript
- Homepage:
- Size: 2.04 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# NJSLinuxBot
**DEPRECATED: Google Hangouts XMPP service is closed. This bot is not compatible with latest Google Hangouts.**
AI bot made for ~~Final Degree Project of Ángel González~~ (Final Project topic changed) based on Hollywell's Google Talk Bot, Hubot GTalk adapter and ALICE.
Bot de inteligencia artificial para el ~~Proyecto de Fin de Grado de Ángel González~~ (el tema del proyecto cambió) basado en el bot de Google Talk de Hollywell, el adaptador GTalk de Hubot y en ALICE.
## Instalación
**ADVERTENCIA:** Debido a las depedencias usadas, solo se garantiza su funcionamiento en GNU/Linux. En Windows se ha realizado pruebas de funcionamiento sin éxito y en otros sistemas no se sabe si dará el resultado esperado. Con el tiempo es posible que esto cambie.
### Linux
*Es necesario tener instalado NodeJS, Git y NPM. Para su instalación, consulte los manuales disponibles en las webs de los programas.*Para instalar esta aplicación, procedemos a la descarga del código mediante Git o en el enlace de descarga de Github:
`git clone https://github.com/Aglezabad/NJSLinuxBot.git`
Posteriormente, instalamos las depedencias necesarias:
`npm install`
Por último, podemnos modificar los parámetros por defecto del fichero config.json para ejecutar el bot en otra cuenta de Google e introducir otros datos para otros servicios. Tras ello, procedemos a la ejecución de la aplicación desde la ruta de la misma.
`PASSWORD="[password]" npm start`
`PASSWORD="[password]" nodejs --harmony njsbot.js`
Para conversar con el bot, basta con abrir GTalk (Hangouts) y agregar la cuenta del bot, como si se tratase de un usuario común.
## Fallos y errores detectados.
La aplicación no tiene un funcionamiento correcto debido a la dependencia aimlinterpreter y a mi propia implementación, que descubrí tarde que no era la más apropiada, causante de los siguientes problemas:* Por la dependencia domjs, los ficheros AIML no pueden contener etiquetas que no cumplan con XML, como el salto de línea de HTML (aceptado en la implementación AIML 2.0).
* Por su implementación propia, parece que no hay prioridad en los patrones, pudiendo responder el bot con el último recurso (Frases default) e incluso no responder al patrón recibido.
* No reconoce el 80% de las etiquetas implementadas en AIML2.0, por lo que no se puede ejecutar ALICE2.0 con esta aplicación.
* También, por su implementación, puede ser el causante de un abuso de memoria en la búsqueda de la respuesta a dar, causando una excepción "Maximum call stack" en NodeJS.
* Por fallos de implementación propios, el bot podría confundir temas cuando conversa con varios usuarios de forma simultánea.
~~Todo ello será solventado con el desarrollo de un intérprete para NodeJS denominado (Program-JS)[https://github.com/Aglezabad/Program-JS], basado en ProgramAB creado por el Dr. Wallace. También se solventarán los problemas de implementación, realizando desde cero un nuevo cliente, que está disponible en la rama "new-client".~~ (No sucederá).
## Licencia
Esta aplicación está licenciada bajo la GPLv3. El texto de la misma se encuentra disponible en el fichero LICENSE.txt.