Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opt-in via channel #30

Closed
dblock opened this issue Aug 25, 2017 · 6 comments
Closed

Opt-in via channel #30

dblock opened this issue Aug 25, 2017 · 6 comments

Comments

@dblock
Copy link
Owner

dblock commented Aug 25, 2017

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

@iozz
Copy link

iozz commented Jan 28, 2022

That's super useful on Donut.ai, it helps automatically opt in new hires for example (they join our Slack, they automatically join the channel, they are opt in for pairing).

@dblock
Copy link
Owner Author

dblock commented Jan 30, 2022

Here's how I think it can work.

Poor Man's Version

  1. Admins DM the bot set opt #channel (currently we have set opt in (default) and set opt out), which says "use #channel to opt-in/out users.
  2. In https://github.com/dblock/slack-sup/blob/master/slack-sup/models/team.rb#L324, called from https://github.com/dblock/slack-sup/blob/master/slack-sup/models/team.rb#L219, check whether the user is a member of #channel and opt them in accordingly.

Per Channel S'Up

  1. Create a new Channel model that holds a channel ID/name and all S'Up fields currently on Team, including sup_wday or sup_size.
  2. Use #general or auto-create a #sup channel upon bot installation. Migrate all existing team-wide S'Ups into that channel.
  3. Re-wire all commands to be channel-aware.
  4. When creating/managing S'Ups, iterate through team.channels.

@dblock
Copy link
Owner Author

dblock commented Jan 30, 2022

@iozz maybe you want to take this up? I'd be happy to help

@dblock
Copy link
Owner Author

dblock commented Feb 18, 2023

Active rewrite that assumes 1 channel = 1 sup in https://github.com/dblock/slack-sup/tree/channel-sups that passes all specs.

@dblock
Copy link
Owner Author

dblock commented Mar 14, 2023

@iozz Any interest in testing a new version? It would be a separate installation from the current one and can co-exist with the existing S'Up. Drop me a note to dblock at dblock dot org if you are.

@dblock
Copy link
Owner Author

dblock commented Dec 2, 2023

This is now the default version of S'Up on https://sup2.playplay.io/

@dblock dblock closed this as completed Dec 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants