Coder Social home page Coder Social logo

dblock / slack-sup Goto Github PK

View Code? Open in Web Editor NEW
19.0 6.0 9.0 2.45 MB

Slack bot that generates fresh triads of team members to meet every week in an informal standup, or S'Up.

Home Page: https://sup.playplay.io/

License: Other

Ruby 80.99% HTML 12.15% JavaScript 2.07% Shell 0.04% Less 4.74% Procfile 0.01%
slack teams meetings tribal-leadership bots bot triad

slack-sup's Introduction

S'Up for Slack

Tests Code Climate

What's This?

The most valuable relationships are not made of two people, they’re made of three. A third person will always stabilize and grow the relationship between the other two. It’s called a triad, and the more you create, the stronger your network.

This bot passively generates fresh triads of company members to meet every week in an informal standup, or S'Up.

Install

We host the bot at sup.playplay.io.

Add to Slack

History

S'Up for Slack is made possible with the generous support of team Artsy. This is a fresh rewrite of artsy/sup for Slack teams during ArtsyOpenSource Hackathon 5.0.

Copyright & License

Copyright Daniel Doubrovkine, Vestris LLC, 2017-2019

MIT License

slack-sup's People

Contributors

ashkan18 avatar dblock avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

slack-sup's Issues

Suggest a sup for other people

@sup suggest @dblock @orta talk about the weather

If these had met recently

@dblock and @orta met 3 days ago in a S'Up, are you sure you want to recommend they meet again?
[ yes ] [ no ]

DMs these two

Hey @dblock and @orta! @joe is suggesting you meet for 20 minutes and talk about the weather.

Once the status is updated, notifies the person who suggested the sup.

Thanks for letting me know, and thanks for suggesting this S'Up @dblock!

Make the onboarding experience more engaging

When you install S'Up it DMs slack admins with

Hi there! I'm your team's S'Up bot. Thanks for trying me out. Type help for instructions. I plan to setup some S'Ups via Slack DM next Monday.

Then, next Monday it sets up triads.

This seems underwhelming for an on-boarding experience, since you just sit and wait till Monday AM to get triads setup.

What else can you do?

Set team timezone

Set and use team timezone so that sup happens on the correct day of the week.

Update_cc spec fails in CI

https://travis-ci.org/dblock/slack-sup/builds/266181097

 1) Update cc with a stripe key a team with a stripe customer ID updates cc
     Failure/Error: find('#update_cc', visible: false)
     
     Capybara::ElementNotFound:
       Unable to find css "#update_cc"
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/node/finders.rb:313:in `block in synced_resolve'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/node/base.rb:85:in `synchronize'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/node/finders.rb:302:in `synced_resolve'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/node/finders.rb:37:in `find'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/session.rb:776:in `block (2 levels) in <class:Session>'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/dsl.rb:50:in `block (2 levels) in <module:DSL>'
     # ./spec/integration/update_cc_spec.rb:37:in `block (4 levels) in <top (required)>'
     # ./spec/support/database_cleaner.rb:15:in `block (3 levels) in <top (required)>'
     # ./vendor/bundle/ruby/2.4.0/gems/database_cleaner-1.6.1/lib/database_cleaner/generic/base.rb:16:in `cleaning'
     # ./vendor/bundle/ruby/2.4.0/gems/database_cleaner-1.6.1/lib/database_cleaner/base.rb:98:in `cleaning'
     # ./vendor/bundle/ruby/2.4.0/gems/database_cleaner-1.6.1/lib/database_cleaner/configuration.rb:86:in `block (2 levels) in cleaning'
     # ./vendor/bundle/ruby/2.4.0/gems/database_cleaner-1.6.1/lib/database_cleaner/configuration.rb:87:in `cleaning'
     # ./spec/support/database_cleaner.rb:14:in `block (2 levels) in <top (required)>'
  2) Update cc with a stripe key a team without a stripe customer ID displays error
     Failure/Error: find('#update_cc', visible: false)
     
     Capybara::ElementNotFound:
       Unable to find css "#update_cc"
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/node/finders.rb:313:in `block in synced_resolve'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/node/base.rb:85:in `synchronize'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/node/finders.rb:302:in `synced_resolve'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/node/finders.rb:37:in `find'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/session.rb:776:in `block (2 levels) in <class:Session>'
     # ./vendor/bundle/ruby/2.4.0/gems/capybara-2.15.1/lib/capybara/dsl.rb:50:in `block (2 levels) in <module:DSL>'
     # ./spec/integration/update_cc_spec.rb:57:in `block (4 levels) in <top (required)>'
     # ./spec/support/database_cleaner.rb:15:in `block (3 levels) in <top (required)>'
     # ./vendor/bundle/ruby/2.4.0/gems/database_cleaner-1.6.1/lib/database_cleaner/generic/base.rb:16:in `cleaning'
     # ./vendor/bundle/ruby/2.4.0/gems/database_cleaner-1.6.1/lib/database_cleaner/base.rb:98:in `cleaning'
     # ./vendor/bundle/ruby/2.4.0/gems/database_cleaner-1.6.1/lib/database_cleaner/configuration.rb:86:in `block (2 levels) in cleaning'
     # ./vendor/bundle/ruby/2.4.0/gems/database_cleaner-1.6.1/lib/database_cleaner/configuration.rb:87:in `cleaning'
     # ./spec/support/database_cleaner.rb:14:in `block (2 levels) in <top (required)>'

Works locally. Weird.

nil can't be coerced into Integer

We set out to try S'Up before we would consider a subscription. Unfortunately, after the first week, S'Up only responded with "nil can't be coerced into Integer" to known commands:

screen shot 2018-04-22 at 11 05 28

For unknown commands, it's still friendly enough to say "I don't understand that command!":

screen shot 2018-04-22 at 11 06 24

Needless to say, but just to be sure: it also doesn't schedule triads anymore.

Recommend to sup next week

Recommended people meet next week instead of this week. Possibly more useful when Sup every other week.

Rate s'up individually

After someone confirms that they all met or some met, ask users to rate the sup ala Leo.

image

Opt-in via channel

This is something donut.ai does, instead of global opt-in, you join a channel and people are picked from that channel.

Add stats

Provide summary information about sups to the teams.

Pair remaining users

If the number of users doesn't divide by 3 someone will be left out. Web sup used to pair these together.

Another option is to add them to existing sup's, therefore creating sups of 4.

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.