Jarvis — A feature-rich Zulip Chat Bot

Mohit Khare
Mar 1, 2018 · 4 min read
Image for post
Image for post

“Jarvis” — Excited !! , Let’s dive in.

Table of Contents

What is Jarvis ?

Jarvis is an Intelligent Bot lets you perform utility and fun stuff like games,.
Built with Python ❤ and Zulip Api , Jarvis-Bot is the most feature-rich unofficial ZulipChat Bot .Jarvis is free and open sourced.

What features does Jarvis provide ?

It provides features such as -

  • News based on Keyword
  • Live Sports Score
  • View Lyrics of Songs
  • View Movie Details
  • Weather forecasting
  • Dictionary based search
  • Currency Conversion Viewer
  • Calculator
  • To-Do List
  • NLP based Instant Response
  • Remote Login Via Bot
  • Access file lists of a system via bot
  • View Man Page of any Linux Command Line
  • Games
  • Hangman
  • Scrabble
  • Stone-Paper-Scissor
  • Memory-Game
Image for post
Image for post

How we built Jarvis

  • We used Zulip Api as our User Interface platform.
  • Our backend scripts work in Python , used API’s for some task
  • Build Algorithms for implementing game bot within Jarvis
  • Implemented a SSH based service for File System Acces over Bot itself
  • Implemented a NLP based response system for enhancing user experience

Hands on Jarvis : Deploying the Bot

To deploy Jarvis bot using your local machine as server, follow following steps:

  • Firstly create a zulip organisation on which you want to deploy bot. If you already have one then you may skip this step.
  • Register a new bot user on the Zulip server’s web interface.
  • Log in to the Zulip server.
  • Navigate to Settings -> Your bots -> Add a new bot. Select Generic bot for bot type, set both bot-name and bot username to Jarvis and click on Create bot.
  • A new bot user should appear in the Active bots panel.
  • Download the bot’s zuliprc configuration file to your computer.
  • Go to Settings -> Your bots
  • In the Active bots panel, click on the little green download icon to download its configuration file zuliprc (the structure of this file is explained here).
  • Make sure sure that your system has following packages installed -
  • enchant (Please make sure your enchant version is <= 1.6.1–2)
  • sshpass (For debian based system install using sudo apt-get install sshpass)
  • aspell-en (For debian based system install using sudo apt-get install aspell-en)
  • Install all required python packages, rum command pip3 install -r requirements.txt
  • Now we are all set, to run bot enter following command zulip-run-bot <absolute path to jarvisBot.py file > --config-file <absolute path to downloaded zuliprc file>

Example Usage — zulip-run-bot ~/Projects/JarvisBot/bot/jarvisBot --config-file ~/Projects/JarvisBot/bot/zuliprc

  • You can now finally use power of Jarvis in your organisation.

Screenshots :

Latest news :

Image for post
Image for post

Song Lyrics :

Image for post
Image for post

Popular Trending Movies :

Image for post
Image for post

Popular Trending Shows :

Image for post
Image for post

Movie Search :

Image for post
Image for post

TODO List :

Image for post
Image for post

Cricket Scores :

Image for post
Image for post

Currency Converter :

Image for post
Image for post

Dictionary :

Image for post
Image for post

Man Page Of Command :

Image for post
Image for post

NLP Based Output :

Image for post
Image for post

Calculator :

Image for post
Image for post

Hangman Game :

Image for post
Image for post

Want to contribute ?

Feel free to report issues and bugs . Suggest additional features.
Check out our , !!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store