recursecenter / pairing-bot

A Zulip bot that partners people for pair programming practice
MIT License
22 stars 15 forks source link

Adding a test environment and updates to the welcome and endofbatch crons #31

Closed RobertXu closed 2 years ago

RobertXu commented 2 years ago

Why are we making these changes?

Right now Pairing Bot has a few actions that require manual work by its maintainers. This PR seeks to automate that work and also adds a dev environment.

What changes are being made in this PR?

1) Adding a development branch and environment in Google App Engine to test out new Pairing Bot features without breaking the Pairing Bot for subscribed recursers.

2) Modifying the endofbatch cron job to only unsubscribe people who have recently left RC, versus unsubscribing all users at the end of a batch.

3) Adding a welcome cron job that posts a message to 397 Bridge in the 2nd week of a batch to welcome people to Pairing Bot's features.

Questions for the Reviewer

1) Any stylistic changes to make here?

2) Is the logic for checking when to unsubscribe people sound? One possible edge case would be if the weekly cron job failed silently and we didn't catch when people left RC.

RobertXu commented 2 years ago

I'm going to merge in these new cron jobs but have them only log what they would have done, instead of actually performing the action. I don't want to accidentally subscribe folks. If the cron jobs seem to be doing ok after a few runs, then I'll remove the log statements and have the jobs perform their actual tasks 😄