{"id":18187826,"url":"https://github.com/0bvim/goctobot","last_synced_at":"2026-03-02T13:42:18.684Z","repository":{"id":256055946,"uuid":"854200078","full_name":"0bvim/goctobot","owner":"0bvim","description":"Implementatio of octobot script in golang","archived":false,"fork":false,"pushed_at":"2024-11-17T12:22:34.000Z","size":44,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T08:11:33.247Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/0bvim.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":"2024-09-08T16:34:21.000Z","updated_at":"2025-02-08T03:53:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"8f6744bd-ba7f-4ea9-8dba-2f4b66c4f5e5","html_url":"https://github.com/0bvim/goctobot","commit_stats":{"total_commits":40,"total_committers":2,"mean_commits":20.0,"dds":0.09999999999999998,"last_synced_commit":"2e5b97057ed27a08f55c78607909689984f01909"},"previous_names":["0bvim/goctobot"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0bvim%2Fgoctobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0bvim%2Fgoctobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0bvim%2Fgoctobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0bvim%2Fgoctobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0bvim","download_url":"https://codeload.github.com/0bvim/goctobot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246750881,"owners_count":20827800,"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":[],"created_at":"2024-11-03T02:03:27.916Z","updated_at":"2026-03-02T13:42:18.679Z","avatar_url":"https://github.com/0bvim.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoctoBot\n\nGoctoBot is a command-line interface (CLI) tool to manage your followers and the people you follow on GitHub. Tired of OctoCat hogging the spotlight? GoctoBot is here to help automate some common social interactions on the platform.\n\nThis project is based on the original [OctoBot repository](https://github.com/X3ric/octobot/tree/main).\n\n## Features\n\n* **List Counts**: Shows the number of followers you have and the number of users you are following.\n* **Follow Back**: Follows users who follow you, but you don't follow back yet.\n* **Unfollow**: Unfollows users who don't follow you back.\n* **Allow and Deny List**: Allows you to specify users who should never be unfollowed (allow list) or who should never be followed (deny list) through a JSON configuration file.\n\n## Installation\n\nTo get started with GoctoBot, you need to clone the repository and build the project.\n\n```bash\n# Clone the repository\ngh repo clone 0bvim/goctobot\n\n# Or use git clone\ngit clone git@github.com:0bvim/goctobot.git\n\n# Enter the project directory\ncd goctobot\n\n# Compile the executable\nmake\n```\n\n\n## Configuration\n\nBefore using GoctoBot, you need to configure your GitHub Personal Access Token.\n\n1.  Create a file named `.env` in the project's root directory. GoctoBot automatically loads environment variables from this file.\n2.  Add your token to the `.env` file as follows:\n\n    ```env\n    PERSONAL_GITHUB_TOKEN=\"your_token_here\"\n    ```\n\n    GoctoBot requires the `PERSONAL_GITHUB_TOKEN` environment variable to authenticate with the GitHub API. You can generate a new Personal Access Token in your GitHub account's developer settings.\n\n## Usage\n\nThe main executable is `goctobot`. Commands are run as follows:\n\n```bash\n./goctobot \u003ccommand\u003e\n```\n\n\n### Available Commands\n\n* `list`: Displays your current follower and following counts.\n    ```bash\n    ./goctobot list\n    ```\n\n* `follow`: Follows all users who follow you but you don't follow back.\n    ```bash\n    ./goctobot follow\n    ```\n\n* `unfollow`: Unfollows users you follow who do not follow you back.\n    ```bash\n    ./goctobot unfollow\n    ```\n\n### Allow and Deny Lists\n\nYou can prevent GoctoBot from unfollowing important accounts (like Linus Torvalds) or following unwanted accounts. To do this, create a `userlist.json` file at the following path: `internal/app/model/userlist.json`.\n\nAdd the usernames in the following JSON format:\n\n```json\n{\n  \"user1\": \"Deny\",\n  \"user2\": \"Allow\",\n  \"user3\": \"Allow\"\n}\n```\n\n\n* **Allow**: Users on this list will not be unfollowed by the `unfollow` command, even if they don't follow you back.\n* **Deny**: Users on this list will not be followed by the `follow` command.\n\n## Dependency Maintenance\n\nThis project uses [Dependabot](https://docs.github.com/en/code-security/dependabot) to keep the Go Modules dependencies up to date. Checks are performed weekly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0bvim%2Fgoctobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0bvim%2Fgoctobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0bvim%2Fgoctobot/lists"}