Giter Site home page Giter Site logo

amarok1412 / rori_linux_client Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 151 KB

The linux client for RORI

Home Page: https://github.com/AmarOk1412/rori_core/wiki

License: BSD 3-Clause "New" or "Revised" License

Rust 78.82% QML 10.91% Python 4.29% Makefile 1.09% Shell 4.89%
chatterbot chatbot distributed rust client rori ring

rori_linux_client's Introduction

RORI: Linux client

Build Status

This is the linux client for RORI

To have more informations on what is RORI, please see the wiki. But in short 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.

Why RORI?

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.

Install

First, you will need mimic for the TTS capability (read install instructions or run make dep, this will install mimic and SpeechRecognition).

Then, make build to compile the client and make run to execute it.

Speech to text

For now, the client uses a Python module to perform speech recognition: Speech Recognition (see scripts/stt.py). It's a separate script which interact with the client via an API. This will be replaced when DeepSpeech will be good. To directly run the client with the Speech Recognition enabled, just run make run_with_stt.

Contribute

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_linux_client's People

Contributors

amarok1412 avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar

rori_linux_client's Issues

Add music orders

  • Play
  • Pause
  • Stop
  • Next
  • Previous
  • Improve music by searching on youtube or on the computer

Improve build system

  • Add documentation for building
  • Add Dockerfile
  • Add .travis.yml
  • Add simple scripts for running the client

Login

Process

For now, the user need to enter the name server to connect. Then the username they want.
Now, there is two possibilities:

  1. Username is already taken ask to link or to change
  2. Username is not taken, /register

Full schema:

Connection to RORI

(1): If the name server exists ns/name/rori is retrieven.
(2): Else the user must change the name server

Connection with an username

(3): The username is not taken /register
(4): The username is already taken by the same ring id, connected (/addr/xxxx = username)
(5): The username is taken by someone, can change username
(6): The username is taken by someone, can link

Status

  • (1)
  • (2)
  • (3)
  • (4)
  • (5)
  • (6)

Add community files

  • Update description
  • README.md
  • CODE_OF_CONDUCT.md
  • License.md
  • Issue and PR templates.

Operations should be done in a queue

For now, RORI can start the speech synthesis and say multiple message at the same time.

The Speech synth should have a queue to say messages one by one.

Could be perfect if the music is in a queue too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.