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

donut-style random pairing for members in a certain channel #514

Open
bobheadxi opened this issue Sep 29, 2020 · 8 comments · May be fixed by #553
Open

donut-style random pairing for members in a certain channel #514

bobheadxi opened this issue Sep 29, 2020 · 8 comments · May be fixed by #553
Assignees
Labels
theme:feature Request a new feature.

Comments

@bobheadxi
Copy link
Member

bobheadxi commented Sep 29, 2020

Donut is an app that pairs random folks in a Slack workspace together to talk. That's basically all it does, and costs $50 a month. Now, Rocket can already send messages, and it is aware of all our members and channels... 😉

@bobheadxi bobheadxi added the theme:feature Request a new feature. label Sep 29, 2020
@chuck-sys
Copy link
Collaborator

Hmmmmmm....

@bobheadxi
Copy link
Member Author

bobheadxi commented Sep 29, 2020

This was brought up in the leads channel with a lot of support from me, @tarikeshaq , @johnagl , @sandyklc . I use it at work and it's a really nice excuse to force a conversation :)

@chuck-sys
Copy link
Collaborator

Oh I didn't go to the website and thought that it was some dating thing for Feb 14 or Apr 1....

@tarikeshaq
Copy link

Did a quick look around, as someone who has not worked with Rocket before this is roughly what I had in mind:

  • Add an api call to interface/slack.py that creates private conversations with a set of users
    • Possibly a second api call to send a message to a private conversation.
  • Add a scheduler https://rocket2.readthedocs.io/en/latest/docs/Scheduler.html (and init it and all that)
  • Make scheduler get everyone in the slack channel we choose (probably a config value?) and run simple randomization and start a private conversation with each pair of people
    • Probably send a nice message afterward to make it less awkward
  • Some tests
  • $$$$

@bobheadxi
Copy link
Member Author

bobheadxi commented Sep 29, 2020

Do we want to track who has met up with who? To avoid repeats, and maybe to collect stats? It might be sufficient to just stuff this metadata into the User model since it's periodic and not very frequent, ie:

{
  pairings: [
   {
     user: otherPerson,
     time: time,
    }
  ]
}

Then we can drop entries after X time to allow re-pairs

@chuck-sys
Copy link
Collaborator

DDB has tables that let you enable TTL columns so that it auto-drops entries.

@tarikeshaq
Copy link

I think I'll have time over the next couple of days to give this a go unless someone else wants to take it 👀

@bobheadxi
Copy link
Member Author

Go for it! ❤️

@tarikeshaq tarikeshaq linked a pull request Oct 12, 2020 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
theme:feature Request a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants