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:
- An entry point is a application which get commands from an user and send it to
rori_server
. For example, a chat where the entry point reads what users says. - An endpoint is a application which performs actions requested by RORI. For example, it can execute a shell command or write something in a chat.
- A module is a script activated when a condition is fulfilled and send actions for endpoints to RORI.
- The rori_core which get data from entries, call modules, and send data to endpoints.
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):
- Ask RORI to launch music on the best device (on my computer, or stream on a discord server for example).
- Ask RORI to be alarmed at 7:40.
- Ask RORI to send messages to a friend.
- Ask RORI to shutdown a device.
- Send a picture to RORI and ask to store this pict in the best folder.
- Ask RORI to send me a notification before a rendez-vous.
RORI is for RORI On RIng. Where RORI is for Really Obvious Really Intelligent.
This is a meta repository to group all related projects about RORI.
rori_core
: the main repository for RORI >4.0.0. All documentation is in the wiki of this project.rori_modules
: all RORI modules.
- clients for entry and endpoints
rori_discord_bot
: a client for Discord serversrori_linux_client
: a client for linux desktops
rsc
: images, design, etc- Next repos:
rori_www
(for the website), RORI clients (linux, discord and IRC).
git clone git@github.com:AmarOk1412/RORI.git
cd RORI
make init # will retrieve the latest version of all submodules and init
# If you want to run a server:
cd rori_core && make
python3 scripts/generate_modules.py
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.
RORI 3.0.0 is not maintained anymore, but this is related repositories:
rori_server
: Old main repositoryrori_modules
: Old modules
rori_www
: old website- clients:
irc_entry_module
old irc clientrori_desktop_endpoint
old desktop clientrori_discord_bot
old discord client