Coder Social home page Coder Social logo

slack-alley's Introduction

Slack Alley

Piazza → Slack staff backchannel

Setup

Create a Piazza account for <course-number>@<slack-alley-domain>. Add that user as an instructor in the class. Set their email settings for the class to: real time + real time + follow everything.

Create a DynamoDB item:

{
  "cid": "class",
  "key": <course-number>,
  "val": {
    "piazza_nid": <piazza-network-id>,
    "piazza_password": <piazza-account-password>,
    "slack_channel": <slack-channel-id>,
    "slack_token": <slack-app-token>,
    "user_domain": <student-email-domain>,
    "user_info": <prefix-for-user-info-web-page>
  }
}

For users with non-user_domain email addresses on Piazza, create DynamoDB items:

{
  "cid": "email",
  "key": <email-address-on-piazza>,
  "val": <username>
}

Development

After creating Terraform configs, use lambda/local to run locally.

See:

Deployment

In setup, create terraform.tfvars and terraform.auto.tfvars following the examples.

In the development VM: in lambda run npm install, and in setup run pack to generate the Lambda deployment package.

After Terraform, complete SES domain verification.

To test on-email in the Lambda console, create test events:

{
  "Records": [ {
    "ses": { "mail": { "commonHeaders": {
      "messageId": "<"<piazza-message-cid>"@piazza.com>",
      "to": [ <course-number>"@"<slack-alley-domain> ]
    } } }
  } ]
}

slack-alley's People

Contributors

maxg avatar

Watchers

 avatar  avatar

slack-alley's Issues

encourage URLs

If post doesn't include a link, should Piazza bot post a followup asking for one?

notice missing numbers in the post sequence

missing posts might have been sent only to the instructors (instead of to all staff) -- Slack Alley should maybe highlight so that Piazza staff can @-mention the instructors to double-check

or they might have been created and then deleted?

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.