modulable open-source chatterbot platform
BSD-3-CLAUSE License
RORI is a modulable open-source chatterbot platform. The first version was written in 2011 (2.0 in September 2012). I rewrote it in Rust in 2017, and I'm currently migrating the whole communication to use GNU Ring.
A complete RORI chain needs 4 things:
rori_server
. For example, a chat where the entry point reads what users says.I run a lot of chatterbots on multiple services (IRC, Discord, Websites, my computer). Some bots do the exact same thing but run on a different service. The idea is to avoid to rewrite the core of each chatterbot and use the same base. Now, I just have to write an interface to communicate with this core on each services.
This is some examples of what I will do with RORI (as soon as the migration is finished):
RORI is for RORI On RIng. Where RORI is for Really Obvious Really Intelligent.
Please, see wiki
make dependencies
will install the following packages:
ring-daemon
: https://ring.cx for the communicationcargo
: https://crates.io/ for rustsqlite3
for the databaselibdbus
for the communication between the client and ring-daemon
libncurses
for the UIopenssl
to generate keys for the APIpython > 3.6
for modules.pip3
and modules: wikipedia feedparser appdirs
./launch-rori.sh
will:
config.json
looks something like:
{
"ring_id":"xxxxxxxxxxxxxxxxx",
"api_listener":"0.0.0.0:1412",
}
Another way is to use docker... this is for now, how I run it:
make docker # build the image
make docker-run
The recommended way is to use nginx + Let's Encrypt in front of the service to provide https support. The app will not support code for that.
Please, feel free to contribute to this project in submitting patches, corrections, opening issues, etc.
If you don't know what you can do, you can look the good-first-issue label, or still creates modules.
For more infos and ideas read CONTRIBUTING.md (this file doesn't exists for now) and CODE_OF_CONDUCT.md.