dmd-program / polybot

Someday this will be a micro-credential bot
http://dmd.psu.edu/polygons/
1 stars 0 forks source link

Micro-credentials Chatbot #1

Open michael-collins opened 6 years ago

michael-collins commented 6 years ago

Credential types

Solutions

  1. Grav Plugin that enhances ePortfolio project
  2. Slack Chatbot that facilitates communication between issuer and student
  3. Amazon Lex
    1. Basics of AWS Lex | Part 1 | FooBar
    2. Introduction to Amazon Lex and AWS Lambda

Example Chat logs

For this example, I am calling badges and credentials "polygons" based on the polygonal nature of the DMD branding visuals. Polybot is the name of the bot the deals in badges.

Scenario 1: Issuer sees a student qualifies for a credential and would like to credential the student:

  1. The issuer (that's me for now) notices that a student issued a pull request against our git repos. This means they learned how to contribute to an open source project. In this specific instance, I want to initiate the process of credentialing that person.
  2. Credential is issued in a direct message through (private slack channel? direct via email?)
  3. Student submits the credential to SOMEWHERE
  4. Badge is aggregated to their public profile page hosted on dmd.psu.edu
  5. Message is sent out over slack channel to inform the group the credential has been awarded

Example chat transcript: issuer: @polybot, please give the DMD Open Source "polygon" (it's just a badge) to @student-name polybot: Hey @student-name, you earned the DMD Open Source Polygon polybot: Please download (credential name and link) and upload it to your dmd profile polybot: Be sure to check out the rest of them here: (url to a list of all the available badges hosted on dmd.psu.edu student-name: Cool. Thanks

Scenario 2: Student sees a they qualify for a credential and would like to get credentialed:

Example chat transcript:

student-name: Hi. I think I earned this: (student pastesurl to credential) IF credential requires evidence polybot: Hey @student-name, that's great! Post your evidence here (linked to upload location) OTHERWISE polybot: Hey @student-name, that's great! I'll take a look and get back to you Slackbot notifies issuer. Issuer reviews and responds. polybot: Congrats, everything checks out. Please download (credential name and link) and upload it to your dmd profile

ottonomy commented 6 years ago

With Scenario 1, I don't see what triggers the slack bot to activate and say "hey, we noticed...". It also looks like the chat transcript only covers step 1 of 4 of that scenario, because presumably some of the other actions occur outside of Slack. That's no problem, but we should narrow down what happens prior to the transcript shown, in terms of how the award occurs so that the chatbot learns about it.

Scenario 2 is pretty clear and high-value. A couple questions:

michael-collins commented 6 years ago

@ottonomy Thanks for the feedback. I've added a few more lines to the chat transcript to try to answer your questions. In the first scenario, the issuer actually uses slack directly to sort of ask the bot to give out a badge to another slack user. Perhaps that's not the best solution, but it would make for a fairly self-contained slack bot.

michael-collins commented 6 years ago

@ottonomy I'm going to be aggregating stuff here for students (this is a dev URL, it'll be at dmd.psu.edu eventually): http://www.open-curriculum.org/program-hub/polygons/

Also, ask @polybot for a polygon on slack when you get a chance. I started prototyping on botkit studio, because writing scripts is a bit over my head right now. I tried 3 or 4 methods yesterday of making bot integrations.

ottonomy commented 6 years ago

@michael-collins Yep, that clears up my questions. 👍 I'll ask for a polygon when I get a chance.

michael-collins commented 6 years ago

@ottonomy Cool. So, only "student" works right now when asking about polygons.