{"id":21096852,"url":"https://github.com/abhijithganesh/reporanger","last_synced_at":"2026-01-26T03:31:33.280Z","repository":{"id":258208615,"uuid":"873564565","full_name":"AbhijithGanesh/RepoRanger","owner":"AbhijithGanesh","description":"GitHub bot to moderate issues and discussions to prevent ghost/zombie users to create issues with NSFW Content","archived":false,"fork":false,"pushed_at":"2024-10-16T12:03:39.000Z","size":13,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-16T16:48:44.623Z","etag":null,"topics":["bot","community","github","hacktoberfest","hacktoberfest-accepted","moderation","participating","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AbhijithGanesh.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-10-16T11:33:56.000Z","updated_at":"2024-10-16T12:58:29.000Z","dependencies_parsed_at":"2024-10-18T07:33:45.507Z","dependency_job_id":null,"html_url":"https://github.com/AbhijithGanesh/RepoRanger","commit_stats":null,"previous_names":["abhijithganesh/reporanger","abhijithganesh/banbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AbhijithGanesh/RepoRanger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijithGanesh%2FRepoRanger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijithGanesh%2FRepoRanger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijithGanesh%2FRepoRanger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijithGanesh%2FRepoRanger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AbhijithGanesh","download_url":"https://codeload.github.com/AbhijithGanesh/RepoRanger/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijithGanesh%2FRepoRanger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28765894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T03:19:35.311Z","status":"ssl_error","status_checked_at":"2026-01-26T03:19:13.815Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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","community","github","hacktoberfest","hacktoberfest-accepted","moderation","participating","python3"],"created_at":"2024-11-19T22:44:27.216Z","updated_at":"2026-01-26T03:31:33.263Z","avatar_url":"https://github.com/AbhijithGanesh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚨 GitHub Moderation Bot - NSFW Content Filter \u0026 Zombie User Blocker\n\nWelcome to the **GitHub Moderation Bot**! This bot automatically moderates issues and discussions on your repository by preventing ghost or zombie users (accounts with little or no activity) from creating issues containing NSFW (Not Safe For Work) content.\n\n## 📋 Features\n\n- **Block NSFW Content**: Automatically scans and flags issues or discussions containing inappropriate or NSFW content.\n- **Zombie User Detection**: Identifies and restricts ghost or zombie users (inactive or new accounts with low engagement) from creating potentially spam issues.\n- **Customizable Filters**: Ability to customize the filter keywords and criteria for ghost user detection.\n- **Automated Response**: Sends a warning message or automatically moderates the issues if the bot detects violations.\n- **Manual Overrides**: Admins can manually override bot actions or whitelist users.\n\n## 🚀 Getting Started\n\n### Prerequisites\n\nTo use this bot, you'll need:\n\n- A GitHub repository\n- Basic understanding of GitHub Actions\n- A GitHub API Token with repo permissions\n\n### Usage\n\nOnce the bot is installed and the workflow is active, it will automatically monitor issues and discussions created in your repository. If a flagged term is detected, or if the user has low activity, the bot will:\n\n- Moderate the issue\n- Leave a warning message as a comment\n\nAdmins can manually reopen closed issues or whitelist specific users.\n\n## 🛠 Customization\n\n- **NSFW Keywords**: Add or remove keywords from the `NSFW_KEYWORDS` array in the YAML file to suit your project's needs.\n- **Zombie User Threshold**: Adjust `MIN_ACTIVITY` to modify the threshold for blocking ghost users.\n- **Actions**: Change how the bot handles violations, such as leaving a comment instead of closing the issue.\n\n## 📄 License\n\nThis project is licensed under the GPL License - see the [LICENSE](LICENSE) file for details.\n\n## Made using\n\n[OctoKit](https://github.com/khornberg/octokit.py)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhijithganesh%2Freporanger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhijithganesh%2Freporanger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhijithganesh%2Freporanger/lists"}