Skip to content

iamvc7/JARVIS-on-Messenger

 
 

Repository files navigation

JARVIS on Messenger

Just A Rather Very Intelligent System, now on Messenger!

Build Status Python License Gitter

Messenger is now used by 900 million people every month. With the launch of Send / Receive API, bots are about to take over.

Why?

I created JARVIS with two goals in mind:

  1. It should have a lot of useful features (both fun and commonly used).
  2. Anyone can contribute to this project. (As this is module-based, anybody with a decent knowledge of Python can contribute.) One of the prime goals of this project is to lower the entry barrier in the world of open source.

Take a look at the contributing guidelines to see how easy it is to add your code. I'll be waiting for your pull request! 😉

Demo (Vimeo)

JARVIS on Messenger Demo

TODO

There are a lot of features that I've planned for JARVIS. Feel free to add to this list by opening an issue / PR.

  • Book Rating
  • Movie Rating
  • News
  • Weather
  • Currency Conversion
  • Random Quote / Fact
  • Random Joke
  • Dictionary (#1)
  • Wikipedia Summary
  • Weather

Some advanced features:

  • Add templates support (Structured Messages)
  • Integrate with Wit.ai to parse Natural Language
  • Retain context between queries

Structure

├── modules/         # home for various features
├── modules/src/     # code goes here
├── modules/tests/   # tests go here
├── CONTRIBUTING.md  # contributing guidelines
└── jarvis.py        # the main bot

Usage

JARVIS is at your service here. Currently, it's pending approval before the public can engage. If you'd like to be a tester, post here.

Sample Queries

Hi, Jarvis!
Are you there?
tell me a joke
iron man movie
define a superhero
More examples can be found here.

Local Development / Testing

  1. Clone this repo.
  2. For LINUX users - sudo apt-get install python-dev libffi-dev libssl-dev
  3. For Mac/OSX users a) If you install Python using brew, the relevant headers are already installed for you. In other words, you don't need python-devel. b) brew install pkg-config libffi export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/ # May change with libffi version pip install cffi c) brew install libtins
  4. pip install -r requirements.txt
  5. python jarvis.py
  6. Visit the following URLs to see results:
    http://localhost:5000/process/?q=<YOUR_QUERY> returns the intent of the query.
    http://localhost:5000/search/?q=<YOUR_QUERY> returns the search result of the query.

History

I started out with rule-based model but it didn't scale well so now I've shifted to Natural Language Processing. Rest assured, I'll strive to keep it as simple as possible so that you, yes you, can contribute!

If you'd like to contribute to the old model, you are welcome to do so as well. I've created a new branch legacy for this purpose. I'll be accepting Pull Requests to this branch also. 😄

About

Just A Rather Very Intelligent System, now on Messenger! (A Python bot)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%