Pairing Bot 🍐🤖
A Zulip bot that partners people for pair programming practice :)
How to use Pairing Bot as an end-user
Pairing Bot interacts through private messages on Zulip.
subscribe
to start getting matched with other Pairing Bot users for pair programmingschedule monday wednesday friday
to set your weekly pairing schedule- In this example, Pairing Bot has been set to find pairing partners for the user on every Monday, Wednesday, and Friday
- The user can schedule pairing for any combination of days in the week
skip tomorrow
to skip pairing tomorrow- This is valid until matches go out at 04:00 UTC
unskip tomorrow
to undo skipping tomorrowstatus
to show your current schedule, skip status, and nameunsubscribe
to stop getting matched entirely- This removes the user from the database. Since logs are anonymous, after unsubscribe Pairing Bot has no record of that user
About Pairing Bot's setup and deployment
- Serverless. RC's instance is currently deployed on App Engine
- Firestore database
- Deployed on pushes to the
main
branch with Cloud Build - The database must be prepopulated with two pieces of data: an authentication token (which the bot uses to validate incoming webhook requests), and an api key (which the bot uses to send private messages to Zulip users)
- Zulip has bot types. Pairing Bot is of type
outgoing webhook
- Pair programming matches are made, and the people who've been matched are notified, any time an HTTP GET request is issued to
/cron
Pull requests are welcome, especially from RC community members!
Pairing Bot is an RC community project.
Your contributions are welcome and encouraged, no matter your prior experience!