testdouble / double-up

Slack scheduler to set up rotating brunch pairings
1 stars 5 forks source link

Configuration should allow for an ignore list of slack handles #7

Open cpruitt opened 3 years ago

cpruitt commented 3 years ago

We might want to consider adding a per-channel ignore list for slack handles that exist in the channel but should not be part of the pairings. The use case here is someone who is acting as an administrator or facilitator who has reason to monitor questions in the channel but does not, personally, want to be part of the pairings.

From @tuxagon:

There are 2 ways I see this happening right now.

  1. We add a command that allows a person to set their user as invisible for a particular group
  2. We keep a list of specific people in the database that are always ignored for a particular group

I prefer (1) personally because it's not a hidden functionality.

I agree with the preference for #1. This feels like we're uncovering the need for a User model that can be looked up by slack ID.

tuxagon commented 2 years ago

Related for some extra context #32

tuxagon commented 2 years ago

I think we could potentially handle for the User model in a slightly different manner based on current usage.

Right now, we're using the slack user id as the in-db reference for a particular individual. That could end up being, at least conceptually

user_channel_visibilities
- slack_channel_id => string
- slack_user_id    => string
- visibility       => datatype to avoid being a boolean (hidden | visible | away)
- away_until       => date

The idea with away_until is that a date could be specified for when to become visible again during the matchmaking. The visible state would be more of a virtual/implicit state based on

  1. The absence of a record in the table
  2. A record's away_until being in the past