{"id":26031078,"url":"https://github.com/himynameisdave/bsky-profanity-counter","last_synced_at":"2025-10-08T07:00:21.265Z","repository":{"id":280838028,"uuid":"938275902","full_name":"himynameisdave/bsky-profanity-counter","owner":"himynameisdave","description":"A bot for Bluesky which tells you how much profanity a user has posted.","archived":false,"fork":false,"pushed_at":"2025-07-04T15:47:24.000Z","size":201,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-23T07:06:31.198Z","etag":null,"topics":["at-protocol","bluesky","bluesky-bot","fun-bot","social-bot","social-media"],"latest_commit_sha":null,"homepage":"http://profanity.accountant","language":"TypeScript","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/himynameisdave.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,"zenodo":null}},"created_at":"2025-02-24T17:40:14.000Z","updated_at":"2025-07-04T15:47:27.000Z","dependencies_parsed_at":"2025-07-23T04:15:23.363Z","dependency_job_id":"ada5c2a5-47f9-450d-8efb-06fc0efd1fed","html_url":"https://github.com/himynameisdave/bsky-profanity-counter","commit_stats":null,"previous_names":["himynameisdave/bsky-profanity-counter"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/himynameisdave/bsky-profanity-counter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/himynameisdave%2Fbsky-profanity-counter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/himynameisdave%2Fbsky-profanity-counter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/himynameisdave%2Fbsky-profanity-counter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/himynameisdave%2Fbsky-profanity-counter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/himynameisdave","download_url":"https://codeload.github.com/himynameisdave/bsky-profanity-counter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/himynameisdave%2Fbsky-profanity-counter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278903036,"owners_count":26065786,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["at-protocol","bluesky","bluesky-bot","fun-bot","social-bot","social-media"],"created_at":"2025-03-06T19:23:31.929Z","updated_at":"2025-10-08T07:00:21.221Z","avatar_url":"https://github.com/himynameisdave.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\" margin=\"0 auto 20px\"\u003e\n   \u003ch1\u003eprofanity.accountant\u003c/h1\u003e\n   \u003cp style=\"font-style: italic;\"\u003e\n      🤬 A bot for Bluesky which tells you how much profanity a user has posted..\n  \u003c/p\u003e\n   \u003cdiv\u003e\n\n  \u003c/div\u003e\n\u003c/div\u003e\n\n---\n\nCounting your sins (if profanity was a sin).\n\n## How It Works\n\n1. The bot runs on a schedule (every 10 minutes via GitHub Actions)\n2. It checks for new mentions in replies\n3. When mentioned, it analyzes the post history of the author of the post being replied to\n4. It counts all profanities used by that author\n5. It replies with a summary of the profanity count and the most commonly used profanity\n\n## Setup\n\nYou too can run your very own profanity accountant!\n\n### Prerequisites\n\n- Node.js \u003e= `22.14.0`\n- `pnpm`\n\n### Installation\n\n1. Clone this repository\n2. Install dependencies:\n\n   ```\n   pnpm install\n   ```\n\n3. Copy `.env.example` to `.env` and fill in your Bluesky credentials:\n\n   ```\n   cp .env.example .env\n   ```\n\n4. Build the project:\n\n   ```\n   pnpm build\n   ```\n\n5. Run the bot:\n\n   ```\n   pnpm start\n   ```\n\n### Environment Variables\n\n- `BLUESKY_IDENTIFIER`: Your Bluesky handle or email\n- `BLUESKY_PASSWORD`: Your Bluesky password or app password\n\n## Deployment\n\nThis bot is designed to run on GitHub Actions. The workflow is configured to run every 10 minutes.\n\nTo deploy:\n\n1. Fork this repository\n2. Add your Bluesky credentials as repository secrets:\n   - `BLUESKY_IDENTIFIER`\n   - `BLUESKY_PASSWORD`\n3. The GitHub Actions workflow will automatically run the bot on schedule\n\n## Contributing\n\nPRs and issues are welcome!\n\n## Inspiration\n\nShoutout to the [Sheriff of Profanity](https://www.reddit.com/user/profanitycounter/) on Reddit for the inspiration.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhimynameisdave%2Fbsky-profanity-counter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhimynameisdave%2Fbsky-profanity-counter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhimynameisdave%2Fbsky-profanity-counter/lists"}