Jarvis is a simple Chatbot with a GUI capable of chatting and retrieving information and daily news from the internet for it's user.

Overview

J.A.R.V.I.S

Kindly consider starring this repository if you like the program :-)

ForTheBadge powered-by-electricity

forthebadge made-with-python

Maintenance Documentation Status contributions welcome

Ui-screen

What/Who is J.A.R.V.I.S?

J.A.R.V.I.S is an chatbot written that is built and coded in Python whose aim is to be capable of chatting and retrieving any information and daily news from the internet for it's user.

Backstory of J.A.R.V.I.S

J.A.R.V.I.S was inspired by by Tony Stark's A.I "J.A.R.V.I.S" from the Iron Man movies from Marvel. Paving the way for my dream to create a bot which can help me in automation by keeping me informed, updated and productive.

What python packages are needed to run J.A.R.V.I.S (Requirements)?

In order for J.A.R.V.I.S to work at full capacity a few 3rd party python packages will be required to be installed:

  1. pip install PySimpleGUI == 4.33.0
  2. pip install requests == 2.25.1
  3. pip install beautifulsoup4 == 4.9.3
  4. pip install wikipedia == 1.4.0

How does J.A.R.V.I.S store info and is it safe?

Yes, Your info will be safe since it will be stored locally on your personal computer. J.A.R.V.I.S stores mainly 2 types of info.

  1. Response-Intents: Stored in Jarintents file used by J.A.R.V.I.S to check input with tags and provide the appropriate output.

  2. Info-Intents: Stored in the Jarinfo file used by J.A.R.V.I.S to store Api keys, Name and location for data retrieval. You can access these using the settings menu.

All CRITICAL INFO will be STORED IN your PERSONAL COMPUTER and NOT on the INTERNET.

What kind of API should I subscribe to?

When completed installing by default you can chat with J.A.R.V.I.S but not get any information. To activate it you will need to head to:

  1. https://newsapi.org/ : For Live News, Morning Briefings and News Headlines.

  2. https://openweathermap.org/ : For current Weather information.

Some examples of J.A.R.V.I.S commands

To make JARVIS respond Users will need to enter a Command in the input for which JARVIS will scan for keywords and provide an answer or information.

Here is a sample list of available Commands:

  1. Hello
  2. How are you
  3. Are you fine
  4. Are you real
  5. What is the time
  6. News about [your input]-- Ex. News about Github.
  7. Get me news headlines-- NOTE: Type in country's abbreviation in input bar in Newsui. EX. Us, Sg, Uk, Au.
  8. Send an email
  9. Wikipedia [Query]-- Ex. Wikipedia github.
  10. Who is [Query] / What is [Query]-- NOTE: JARVIS will get answer from Wikipedia.
  11. Get me stock price for [Query]-- NOTE: Query of stock should be abbreviations. EX. TSLA, AAPL, MSFT.
  12. Goodbye jarvis-- NOTE: Command to quit JARVIS.

License Open Source Love svg1

IMPORTANT NOTE: Any User who are willing to Share or Re-Distribute the above 'Program' are kindly advised to:

  1. keep at least ONE "(C) Epicalable" text in the 'program'.

  2. a link to this repository from the user's 'Modified program' README file.

It will be helpful for us as users will know it's original source and about our startup.

THANK YOU FOR YOUR COOPERATION :-)

ForTheBadge built-with-love

ForTheBadge built-by-developers

ForTheBadge uses-git ForTheBadge makes-people-smile

J.A.R.V.I.S Copyright (C) 2021 Epicalable LLC. All Rights Reserved.

Comments
  • Bringing Back Stock Price Retrieving Through The Gui.

    Bringing Back Stock Price Retrieving Through The Gui.

    It was possible to retrieve stock prices before and now it has been removed due to an error. This request is to bring it back and also improve the documentation by explaining to users about the Jaraudit Text File.

    Code Enhancement Help Wanted 
    opened by CodingAviator 5
  • Scheduler and Timetable capabilities

    Scheduler and Timetable capabilities

    Whenever we think of a computer program designed to talk to you we would also want it to be helpful to us by telling us things to do or upcoming work/project deadlines and motivate us to do things. Jarvis will always need new features to keep it ahead of it's competitors and our job is to make it more interactive as possible.

    Code Enhancement 
    opened by CodingAviator 3
  • Update JarvisGUI.py for default metric units on weather

    Update JarvisGUI.py for default metric units on weather

    Hello, came across your Reddit post and bookmarked it a while ago. Saw that you're using the default call and manually converting to celsius so I added the metric unit to the API call and removed the manual conversion. I'm also just learning Python, though I haven't been as committed as you have and this is my first pull request on Github. Hope you find it useful.

    Code Enhancement 
    opened by BiiGDaaN 3
  • Flight Tracker Issue Tracker

    Flight Tracker Issue Tracker

    Currently this function is in beta and is currently under testing. We will also be trying to create a GUI to show the data rather than on the mainframe terminal. R&D and Coding Department will help to oversee this function's issues and will close this issue once all problems are rectified and solved.

    Code Bug Help Wanted GUI Enhancement 
    opened by MahaMohan 1
  • Re-structuring the RENDER-WORD Engine.

    Re-structuring the RENDER-WORD Engine.

    As new words and output options are being added commit to commit it is important to make sure all the output are being shown correctly without any errors or mixing up the output. This is why it is important to come up with a new system to help the program select outputs easier. Example: When user says 'Hi' JARVIS will say 'Hello Sir', But now if the user says 'Dolphin' JARVIS will say 'Hello Sir'. Even though Dolphin is an option in 'Jarindents.json' file JARVIS will come up with another output. We cannot afford to turn a blind eye to this problem as soon when we want to expand JARVIS's vocabulary we would run into many more problems. Thank You.

    Code Bug Code Enhancement 
    opened by MahaMohan 4
  • Consider trying the PySimpleGUI UserSettings API calls for your JSON access

    Consider trying the PySimpleGUI UserSettings API calls for your JSON access

    Last October a new set of calls was added to PySimpleGUI.... the UserSettings APIs.

    https://pysimplegui.readthedocs.io/en/latest/#user-settings-api

    As more information is saved by PySimpleGUI programs, including the global settings used by PySimpleGUI itself, it was clear that users, including the PySimpleGUI project, could benefit from a simplified interface to JSON files.

    You'll find it's used in a number of demo programs now and I use it a lot in my own programs.

    With these APIs, you don't need to worry about doing loads and saves of the JSON file. The API calls will do that for you.

    This simplified access enables you to load defaults straight into your layout.

    For example, I used the class-based interface to them to load a list of white-listed users using these 2 lines of code.

    First is simply creating the UserSetting object.

        config_settings = sg.UserSettings(LOCAL_CONFIG)
    

    Then in my layout, I have this Multiline element:

     [sg.Multiline( '\n'.join(config_settings.get('whitelist', [''])), s=(80,10), k='-WHITELIST-')]
    

    It created a Multiline element like this this in my window:

    image

    If you want to save something into one of these settings files, it's this line of code:

        config_settings['whitelist'] = values['-WHITELIST-'].rstrip().split('\n')
    

    I get the value from the Multiline element, strip to remove whitespace, then split using '\n' to get a list of users.

    Because I'm using the class-interface to the UserSettings in this example, I can change and save an item in the JSON as if the object is a dictionary.

    I dunno... maybe it'll save you a bit of coding.

    For simple programs where there's only 1 settings file that I'm using, I use the function-interface rather than the class-interface.

    Nice job on this repo! Keep on building stuff!!

    opened by PySimpleGUI 7
Owner
Epicalable
A small coding startup to make cool projects and help create real world solutions.
Epicalable
OpenChat: Opensource chatting framework for generative models

OpenChat is opensource chatting framework for generative models.

Hyunwoong Ko 427 Jan 6, 2023
This Project is based on NLTK It generates a RANDOM WORD from a predefined list of words, From that random word it read out the word, its meaning with parts of speech , its antonyms, its synonyms

This Project is based on NLTK(Natural Language Toolkit) It generates a RANDOM WORD from a predefined list of words, From that random word it read out the word, its meaning with parts of speech , its antonyms, its synonyms

SaiVenkatDhulipudi 2 Nov 17, 2021
This script just scrapes the most recent Nepali news from Kathmandu Post and notifies the user about current events at regular intervals.It sends out the most recent news at random!

Nepali-news-notifier This script just scrapes the most recent Nepali news from Kathmandu Post and notifies the user about current events at regular in

Sachit Yadav 1 Feb 11, 2022
nlabel is a library for generating, storing and retrieving tagging information and embedding vectors from various nlp libraries through a unified interface.

nlabel is a library for generating, storing and retrieving tagging information and embedding vectors from various nlp libraries through a unified interface.

Bernhard Liebl 2 Jun 10, 2022
NLP project that works with news (NER, context generation, news trend analytics)

СоАвтор СоАвтор – платформа и открытый набор инструментов для редакций и журналистов-фрилансеров, который призван сделать процесс создания контента ма

null 38 Jan 4, 2023
An IVR Chatbot which can exponentially reduce the burden of companies as well as can improve the consumer/end user experience.

IVR-Chatbot Achievements ?? Team Uhtred won the Maverick 2.0 Bot-a-thon 2021 organized by AbInbev India. ❓ Problem Statement As we all know that, lot

ARYAMAAN PANDEY 9 Dec 8, 2022
Fake news detector filters - Smart filter project allow to classify the quality of information and web pages

fake-news-detector-1.0 Lists, lists and more lists... Spam filter list, quality keyword list, stoplist list, top-domains urls list, news agencies webs

Memo Sim 1 Jan 4, 2022
Abhijith Neil Abraham 2 Nov 5, 2021
Twitter bot that uses NLP models to summarize news articles referenced in a user's twitter timeline

Twitter-News-Summarizer Twitter bot that uses NLP models to summarize news articles referenced in a user's twitter timeline 1.) Extracts all tweets fr

Rohit Govindan 1 Jan 27, 2022
A machine learning model for analyzing text for user sentiment and determine whether its a positive, neutral, or negative review.

Sentiment Analysis on Yelp's Dataset Author: Roberto Sanchez, Talent Path: D1 Group Docker Deployment: Deployment of this application can be found her

Roberto Sanchez 0 Aug 4, 2021
A simple chatbot based on chatterbot that you can use for anything has basic features

Chatbotium A simple chatbot based on chatterbot that you can use for anything has basic features. I have some errors Read the paragraph below: Known b

Herman 1 Feb 16, 2022
Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.

LibreTranslate Try it online! | API Docs | Community Forum Free and Open Source Machine Translation API, entirely self-hosted. Unlike other APIs, it d

null 3.4k Dec 27, 2022
This is an incredibly powerful calculator that is capable of many useful day-to-day functions.

Description ?? This is an incredibly powerful calculator that is capable of many useful day-to-day functions. Such functions include solving basic ari

Jordan Leich 37 Nov 19, 2022
ChessCoach is a neural network-based chess engine capable of natural-language commentary.

ChessCoach is a neural network-based chess engine capable of natural-language commentary.

Chris Butner 380 Dec 3, 2022
Translate U is capable of translating the text present in an image from one language to the other.

Translate U is capable of translating the text present in an image from one language to the other. The app uses OCR and Google translate to identify and translate across 80+ languages.

Neelanjan Manna 1 Dec 22, 2021
This project uses unsupervised machine learning to identify correlations between daily inoculation rates in the USA and twitter sentiment in regards to COVID-19.

Twitter COVID-19 Sentiment Analysis Members: Christopher Bach | Khalid Hamid Fallous | Jay Hirpara | Jing Tang | Graham Thomas | David Wetherhold Pro

null 4 Oct 15, 2022
A simple Streamlit App to classify swahili news into different categories.

Swahili News Classifier Streamlit App A simple app to classify swahili news into different categories. Installation Install all streamlit requirements

Davis David 4 May 1, 2022
Samantha, A covid-19 information bot which will provide basic information about this pandemic in form of conversation.

Covid-19-BOT Samantha, A covid-19 information bot which will provide basic information about this pandemic in form of conversation. This bot uses torc

Neeraj Majhi 2 Nov 5, 2021