{"id":17868249,"url":"https://github.com/matmoore/pull-request-birthday-bot","last_synced_at":"2026-01-19T09:33:58.225Z","repository":{"id":48666552,"uuid":"67247945","full_name":"MatMoore/pull-request-birthday-bot","owner":"MatMoore","description":"A twitter bot that wishes pull requests happy birthday if they're still open N years after they were created","archived":false,"fork":false,"pushed_at":"2022-12-08T11:37:40.000Z","size":21,"stargazers_count":1,"open_issues_count":12,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-07T23:16:30.512Z","etag":null,"topics":["bot","github","twitter"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MatMoore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-02T19:05:00.000Z","updated_at":"2022-03-21T21:02:51.000Z","dependencies_parsed_at":"2023-01-25T12:45:26.627Z","dependency_job_id":null,"html_url":"https://github.com/MatMoore/pull-request-birthday-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MatMoore/pull-request-birthday-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatMoore%2Fpull-request-birthday-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatMoore%2Fpull-request-birthday-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatMoore%2Fpull-request-birthday-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatMoore%2Fpull-request-birthday-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MatMoore","download_url":"https://codeload.github.com/MatMoore/pull-request-birthday-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatMoore%2Fpull-request-birthday-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28565001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T08:53:44.001Z","status":"ssl_error","status_checked_at":"2026-01-19T08:52:40.245Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","github","twitter"],"created_at":"2024-10-28T09:57:23.752Z","updated_at":"2026-01-19T09:33:58.206Z","avatar_url":"https://github.com/MatMoore.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pull request birthday bot\n\nA twitter bot that wishes pull requests happy birthday if they're still open N years after they were created.\n\nhttps://twitter.com/PR_birthday_bot\n\n## Getting Started\n\n### Prerequisities\n\n[You should have Python 2 and pip installed on your system](http://docs.python-guide.org/en/latest/).\n\nInstall the dependencies with `pip install requirements.txt`\n\n### Setup\n\nTo set up on a local machine for development/testing:\n\n1. [Set up an app](http://blog.mollywhite.net/twitter-bots-pt2/) for your twitter developer account.\n\n2. Set `TWITTER_CONSUMER_KEY` and `TWITTER_CONSUMER_SECRET` environment variables using the keys twitter gives you. E.g. run `export TWITTER_CONSUMER_KEY=blablabla` in your shell.\n\n3. Grant the app access to your twitter account. There's a button for this in the twitter settings. To grant access to a different account you can hack `birthdaybot.py` to run the `fetch_twitter_access_token` function.\n\n4. Set `TWITTER_ACCESS_KEY` and `TWITTER_ACCESS_SECRET` environment variables with the values from step 3.\n\n5. Run `python birthdaybot/birthdaybot.py`\n\n## Deployment\n\nFirst [create a heroku app and push the repo to heroku](https://devcenter.heroku.com/articles/getting-started-with-python#introduction). It will complain about a missing Procfile but it's not needed.\n\nThe rest you can do either through the heroku web interface or the cli:\n\n* [set the four twitter environment variables described above](https://devcenter.heroku.com/articles/getting-started-with-python#define-config-vars)\n* [add the heroku scheduler plugin to the app](https://devcenter.heroku.com/articles/scheduler)\n* add a job to the scheduler plugin. It should run `./bin/birthdaybot.py`\n\n## Contributing\n\n* Feel free to raise PRs and issues\n* I will try and respond to things within a year\n* Check the PRs the bot tweets about and see if you can get one resolved\n\n## License\n\n          DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\n                      Version 2, December 2004\n\n    Copyright (C) 2004 Sam Hocevar \u003csam@hocevar.net\u003e\n\n    Everyone is permitted to copy and distribute verbatim or modified\n    copies of this license document, and changing it is allowed as long\n    as the name is changed.\n\n               DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\n      TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n     0. You just DO WHAT THE FUCK YOU WANT TO.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatmoore%2Fpull-request-birthday-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatmoore%2Fpull-request-birthday-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatmoore%2Fpull-request-birthday-bot/lists"}