-
-
Group is notified as soon as any information is added or updated with "Add to Personal Calendar" buttons
-
Reminder before the day of a deadline
-
Complex Latex equation can be used to conduct a quiz/poll and will be rendered as GIF image
-
A poll can be saved as a file to reuse later
-
Just attach the .docx poll file with "add poll" command to create poll from file
-
Offensive language is blocked in anonymous posts
Inspiration
It’s an exciting time for innovations in ed tech, and chatbots are at the forefront. Chatbots allow for the automation of repetitive and time-consuming communication while freeing up more time for meaningful discussions and interactions between professors and students. Should professors be wasting time answering questions such as “When is the paper due?” or replying to emails such as “When are your office hours?”. Instead they could be engaged in something more productive such as analysis of the material they reviewed in class. Chatbots can also help them conduct realtime poll in the classroom.
Apart from these, the idea of personal attention for each and every student (something we plan to work on in near future) is another main motivation for this project. Check out this video for more inspiration:
What it does
Set up is as easy as adding Bear Bot to a group conversation. It assumes the creator of the conversation is the Professor and rest of the participants are students (can be changed with make admin
command).
Here are the main features of Bear:
Available Commands:
: Available for Professor
: Avaialble for Student
Office Hours
set/delete office hours
: To set or delete office hour infooffice hours
: To get office hour info
Course Website
set/delete website
: To set or delete course website infowebsite
: To get course website info
Syllabus
set/delete syllabus
: To set or delete a link of syllabussyllabus
: To get the link of syllabus
Course Resources
set/delete resources
: To set or delete a link of course resourcesresources
: To get the link of course resources
Due
add/update/delete due
: For dues (homework, assignments, reports) with title, description and datedue
: To get the list of upcoming dues
Exam
add/update/delete exam
: For exams (quiz, midterm, finals) announcement with title, description and dateexam
: To get the list of upcoming exams
Events
add/update/delete event
: For events with title, description and dateevent
: To get the list of upcoming event
News
add/update/delete news
: For important announcements and notificationsnews
: To get the latest news
Poll
set/delete poll
: For in-class questions or pollsset poll
with.docx
file attached: Create poll from fileset poll with tex
: Create poll with Latex equationspoll
: To view the active pollresult
: To get result of an active pollpoll
: To participate in a poll
Anonymous Group Post
post
: To anonymously post a question/issue/concern
Settings
set timezone
: To set timezone, all queries and reminders will fire according to thistimezone
: To get the currently set timezonemake admin
: To give someone admin privilege (using email)remove admin
: To remove admin privilege (using email)admin
: To see the status of admin privilege of yourself
Source Code
To have your own Bear:
- Clone this repository:
git clone https://github.com/mehamasum/bear-bot
cd bear-bot
Install dependencies:
npm install
Write a .env file with the following:
access_token=YOUR_CISCO_SPARK_ACCESS_TOKEN public_address=YOUR_PUBLIC_ADDRESS_WITH_HTTPS secret=YOUR_SECRET_STRING PORT=YOUR_PORT_NUMBER
Launch your bot application by typing:
node .
To extend:
This bot is written in Node.js and built with bot-kit for Cisco Spark
All the actions this bot can perform are in skills/
folder. The main bot application will automatically include any files placed there.
A skill module should be in the format:
module.exports = function(controller) {
// add event handlers to controller
}
What's next for Bear
- Natural Language Processing
- Relative time processing in event based input, for example:
- today at 4pm
- tomorrow morning
- next monday at 11:59am
Built With
- botkit
- express.js
- love
- mammoth
- node.js
- officegen
- request
Log in or sign up for Devpost to join the conversation.