{"id":27720507,"url":"https://github.com/correia-jpv/github-follow-bot","last_synced_at":"2025-04-27T09:57:19.674Z","repository":{"id":40410039,"uuid":"446562500","full_name":"Correia-jpv/github-follow-bot","owner":"Correia-jpv","description":"🤖 Automated follow/unfollow bot for GitHub. Follow from multiple sources. Choose which users to unfollow. Custom options to control bot speed and maximum actions.","archived":false,"fork":false,"pushed_at":"2024-06-19T00:11:10.000Z","size":75,"stargazers_count":82,"open_issues_count":14,"forks_count":17,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-27T09:57:13.613Z","etag":null,"topics":["auto-follow","auto-unfollow","automatic","automation","bot","bots","follow","follow-bot","follow-unfollow","follower-robot","followers","following","github","github-api","github-automation","github-bot","python","unfollow","unfollow-bot","unfollow-users"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Correia-jpv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-10T19:53:28.000Z","updated_at":"2025-01-10T23:18:46.000Z","dependencies_parsed_at":"2022-08-18T08:03:24.747Z","dependency_job_id":"31f6871e-7d56-4653-aead-681b645d50ba","html_url":"https://github.com/Correia-jpv/github-follow-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Correia-jpv%2Fgithub-follow-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Correia-jpv%2Fgithub-follow-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Correia-jpv%2Fgithub-follow-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Correia-jpv%2Fgithub-follow-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Correia-jpv","download_url":"https://codeload.github.com/Correia-jpv/github-follow-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251119577,"owners_count":21539194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["auto-follow","auto-unfollow","automatic","automation","bot","bots","follow","follow-bot","follow-unfollow","follower-robot","followers","following","github","github-api","github-automation","github-bot","python","unfollow","unfollow-bot","unfollow-users"],"created_at":"2025-04-27T09:57:18.876Z","updated_at":"2025-04-27T09:57:19.645Z","avatar_url":"https://github.com/Correia-jpv.png","language":"Python","readme":"\u003ch2\u003eGitHub Follow Bot\u003c/h2\u003e\u0026nbsp;\u003cimg align=\"right\" width=\"35%\" src=\"logo.png\"\u003e\n\n\u003ch2\u003e Table of Contents\u003c/h2\u003e\n\n- [Disclaimer](#disclaimer)\n- [Getting Started](#getting-started)\n\t- [Install Requirements](#install-requirements)\n\t- [Authenticate](#authenticate)\n\t\t- [Get a GitHub Personal Access Token](#get-a-github-personal-access-token)\n\t\t- [Add your GitHub username and PAT to `.env` file](#add-your-github-username-and-pat-to-env-file)\n- [How to Use](#how-to-use)\n\t- [Follow](#follow)\n\t\t- [Target user's followers](#target-users-followers)\n\t\t- [Followers of the most popular users from a country](#followers-of-the-most-popular-users-from-a-country)\n\t\t- [From a file](#from-a-file)\n\t- [Unfollow](#unfollow)\n\t\t- [All](#all)\n\t\t- [Followers](#followers)\n\t\t- [Non-followers](#non-followers)\n\t\t- [From a file](#from-a-file-1)\n\t- [Options](#options)\n\t\t- [Maximum follows/unfollows](#maximum-followsunfollows)\n\t\t- [Speed](#speed)\n- [Future Implementation](#future-implementation)\n- [Contributing](#contributing)\n- [Resources](#resources)\n\n## Disclaimer\n\n**This is a PoC and was developed for educational purposes only. You may get your account banned. Use at your own risk.**\n\n\u003e ### Spam and Inauthentic Activity on GitHub\n\u003e Automated excessive bulk activity and coordinated inauthentic activity, such as spamming, are prohibited on GitHub. Prohibited activities include:\n\u003e - (...)\n\u003e - inauthentic interactions, such as fake accounts and automated inauthentic activity\n\u003e - rank abuse, such as automated starring or following\n\n[From GitHub Acceptable Use Policies](https://docs.github.com/en/github/site-policy/github-acceptable-use-policies#4-spam-and-inauthentic-activity-on-github)\n\n## Getting Started\n\n### Install Requirements\n\n```\npip install -r requirements.txt\n```\n\n### Authenticate\n\n#### Get a GitHub Personal Access Token\n\nMake sure to enable the `user` scope and all subscopes inside of that permission.\n\n[How to get your GitHub PAT](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)\n\n#### Add your GitHub username and PAT to `.env` file\n\nCreate a `.env` file on the project's root directory or edit `.env.sample` (rename to `.env`) and add your username and PAT.\n\n```\nGITHUB_USER=YOUR_GITHUB_USERNAME\nTOKEN=YOUR_GITHUB_PERSONAL_ACCESS_TOKEN\n```\n\n## How to Use\n\n### Follow\n\n#### Target user's followers\n```\npython bot_follow.py -t \u003cTARGET_USER\u003e\n```\n#### Followers of the most popular users from a country\n([list of valid countries](https://github.com/gayanvoice/top-github-users#readme))\n```\npython bot_follow.py -p \u003cCOUNTRY_NAME\u003e\n```\n#### From a file\nFollow users from a pre-generated file (JSON)\n```\npython bot_follow.py -f \u003cFILENAME\u003e\n```\n\n### Unfollow\n\nnote: Unfollow order is FIFO, as in the most recently followed user will be the last to be unfollowed.\n\n#### All\nUnfollow all your followings\n```\npython bot_unfollow.py -a\n```\n#### Followers\nOnly unfollow users who already follow you\n```\npython bot_unfollow.py -fo\n```\n#### Non-followers\nOnly unfollow users who don't follow you back\n```\npython bot_unfollow.py -nf\n```\n#### From a file\nUnfollow users from a pre-generated file (JSON)\n```\npython bot_unfollow.py -f \u003cFILENAME\u003e\n```\n\n### Options\n\n#### Maximum follows/unfollows\nSet the maximum number of follow/unfollow actions\n```\n-m 300\n```\n\n#### Speed\n\nA random delay (in seconds) is performed after follow/unfollow actions or when the account is rate limited.\nYou can change these delays to your liking with the following arguments:\n\n- Minimum delay between actions\n\t```\n\t-smin 20\n\t```\n- Maximum delay between actions\n\t```\n\t-smax 120\n\t```\n- Minimum delay when rate limited\n\t```\n\t-slmin 600\n\t```\n- Maximum delay when rate limited\n\t```\n\t-slmin 1500\n\t```\n\n## Future Implementation\n\n- Schedule - Bot only performs actions between set time and sleeps after off-schedule\n- Max follow per source - Follow max `n` per popular user\n- Add follow source - Follow users per topic\n- Add follow source - Grab followers from users listed in a file\n- Email followed users - Send an email to followed users with templates (colaboration, follow back or custom)\n- Star `n` repositories of followed users\n\n## Contributing\n\nContributions are welcome! Read the [contribution guidelines](https://github.com/Correia-jpv/.github/blob/main/CONTRIBUTING.md#contributing) first.\n\nWish there was another feature? Feel free to open an [feature request issue](/../../issues/new?assignees=Correia-jpv\u0026labels=enhancement\u0026template=feature-request.md\u0026title=%5BREQUEST%5D) with your suggestion!\n\nIf you find a bug, kindly open an [bug report issue](/../../issues/new?assignees=Correia-jpv\u0026labels=bug\u0026template=bug_report.md\u0026title=%5BBUG%5D) as described in the contribution guidelines.\n\n## Resources\n\n- [GitHub API](https://docs.github.com/en/rest)\n- [Top GitHub Users By Country](https://github.com/gayanvoice/top-github-users)\n- [GitHub-Follow-Bot](https://github.com/TheDarkAssassins/Github-Follow-Bot)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorreia-jpv%2Fgithub-follow-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcorreia-jpv%2Fgithub-follow-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorreia-jpv%2Fgithub-follow-bot/lists"}