https://github.com/zafarali/minerva-bot
Your personal assistant for everything McGill.
https://github.com/zafarali/minerva-bot
Last synced: over 1 year ago
JSON representation
Your personal assistant for everything McGill.
- Host: GitHub
- URL: https://github.com/zafarali/minerva-bot
- Owner: zafarali
- License: mit
- Created: 2016-04-21T14:24:53.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-03-28T00:04:26.000Z (over 9 years ago)
- Last Synced: 2025-03-18T05:34:56.783Z (over 1 year ago)
- Language: JavaScript
- Homepage: http://m.me/minervabot
- Size: 644 KB
- Stars: 40
- Watchers: 3
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: history.json
- License: License.md
Awesome Lists containing this project
README
# Minerva Bot

Your personal assistant for everything McGill. Learn about courses, programs, buildings, cafeteria and library opening hours, uPrint locations and general FAQs.
## Idea
Currently it takes 10 clicks to get to a search box that lets you search McGill courses. Minerva Bot lives in your messenger, one click away, to search everything McGill!
## Features
### Course Look Up
#### Specific Queries
- Ask for courses by code "COMP 202", "Where is PHYS 232 in the Fall"
- Ask for courses by title "Courses about machine learning in the fall", "Courses about quantum mechanics"

You will get a response with times, professors, buildings and sections!
#### Freeform Queries
- Ask for courses by level: "500 level biology courses"
- Ask for programs: "Honours physics", "Culturual Studies Major"

### Building Look up
- Look for buildings on campus: "Where is the E-cafe?", "Show me frostbite"
- See where your classes are.
- Look for uPrint printers on campus.



## Tech
Minerva Bot is organized into *plugins*. When the server receives a message or postback, the query along with context and history is passed along to a chain of plugins (which are promises) that will process the data in the context. Each plugin will save *replies* into the context which will be sent back to the user.