Giter Site home page Giter Site logo

tejashah88 / eznet Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 1.0 214 KB

A chatbot interface for retrieving Meraki network data and analysis with natural language!

License: MIT License

JavaScript 99.74% Dockerfile 0.26%
meraki-dashboard dialogflow nodejs webex facebook-messenger image-charts actions-on-google messenger-bot spark-bot slack-bot

eznet's Introduction

eznet

Devpost | EZNet

A cross-platform chatbot for retrieving Meraki network data and analysis with natural language!

This was originally built at CalHacks 4.0 under the name "ezsec":

Try it out

You can add it to your space with this url: [email protected].

Featues

  • Uses dialogflow for handling most of the NLP and integrations with multiple chatbot platforms
  • 6 actions implemented for query basic information from the Meraki Dashboard API. You can:
    • list the orgs that you are a part of
    • list the networks in an org
    • list the admins in an org
    • list the devices in a network
    • show the data usage of a network over a given time period (includes pretty charts)
    • show the top traffic usage of a network over a given time period (includes pretty charts)
  • Context allows the bot to remember an aformentioned org or network (You can say "list the networks in my org" and it can recall the aforementioned org)
  • Available now on 4 platforms: Google Assistant, Facebook Messenger, Slack, and Cisco Webex (formally Cisco Spark).
  • Uses Redis as a real-time cache for the Meraki Dashboard data
  • Ready to deploy locally, on Heroku, or as a Docker container
  • When prompting for an org or network, you can type a partial name, and eznet can attempt to resolve to the full name, thanks to fuzzy searching
  • Most chat bots with entities that can accept any input (in this case, for prompting an org/network name) will fail to acknowledge whe the user wants to cancel the slot-filling process and literally take 'cancel' as a valid input! This bot is able to distinguish this and allow the user to really cancel anytime in the slot-filling process.

Deploy it yourself

See here for a step-by-step tutorial on deploying your own version of this bot!

TODO

  • Testing: Mocha, CI (Travis), Code Coverage (coveralls.io)
  • Inline comments to explain some of the complex parts
  • A doc for those who want to further expand the capabilities of this bot

Known Limitations/Issues

  • Although the ability to block websites was in the original version of the bot, it's disabled by default since it tries to resolve the website to an IP address and block it under the layer 3 spec, which is mostly unreliable.
  • The original version of this bot had the ability to send back notifications from the SNMP hook provided by Meraki. This bot won't have it due to the tricky nature of sending arbitrary notifications back to the user during a conversation.

Authors

eznet's People

Contributors

tejashah88 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

dhanush123

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.