{"id":19030620,"url":"https://github.com/hackclub/scrappy","last_synced_at":"2025-03-03T06:01:32.653Z","repository":{"id":37172102,"uuid":"272593070","full_name":"hackclub/scrappy","owner":"hackclub","description":"🗑️ the bot that eats trash (and manages #scrapbook)","archived":false,"fork":false,"pushed_at":"2025-02-10T19:20:22.000Z","size":3907,"stargazers_count":48,"open_issues_count":9,"forks_count":37,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-02-14T20:05:05.829Z","etag":null,"topics":["hackclub","hacktoberfest","slack-bot","summer-of-making"],"latest_commit_sha":null,"homepage":"https://youtu.be/8e0NLxQJ55Y","language":"JavaScript","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/hackclub.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":"2020-06-16T02:40:59.000Z","updated_at":"2025-01-27T21:25:33.000Z","dependencies_parsed_at":"2024-02-27T12:42:26.819Z","dependency_job_id":"ad069512-d54c-4dcb-be0d-5fadc7f9de8b","html_url":"https://github.com/hackclub/scrappy","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/hackclub%2Fscrappy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fscrappy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fscrappy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fscrappy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackclub","download_url":"https://codeload.github.com/hackclub/scrappy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240420974,"owners_count":19798502,"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":["hackclub","hacktoberfest","slack-bot","summer-of-making"],"created_at":"2024-11-08T21:18:49.055Z","updated_at":"2025-02-24T05:01:42.778Z","avatar_url":"https://github.com/hackclub.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scrappy\n\nScrappy is the Slack bot that powers [scrapbook.hackclub.com](https://scrapbook.hackclub.com). Scrappy generates your Scrapbook and Scrapbook posts via Slack messages. For more information about how to sign up for Scrapbook, check out the [about page](https://scrapbook.hackclub.com/about).\n\n[Click here to view the Scrapbook repository](https://github.com/hackclub/scrapbook), which hosts the Scrapbook web code.\n\n## Commands\n\nScrappy provides some helpful commands in Slack. These commands are also documented in our Slack if you send the message `/scrappy` in any channel.\n\n- `/scrappy-togglestreaks`: toggles your streak count on/off in your status\n- `/scrappy-togglestreaks all`: opts out of streaks completely\n- `/scrappy-open`: opens your scrapbook (or another user's if you specify a username)\n- `/scrappy-setcss`: adds a custom CSS file to your scrapbook profile. Check out this cool example!\n- `/scrappy-setdomain`: links a custom domain to your scrapbook profile, e.g. [https://zachlatta.com](https://zachlatta.com)\n- `/scrappy-setusername`: change your profile username\n- `/scrappy-setaudio`: links an audio file to your Scrapbook. [See an example here](https://scrapbook.hackclub.com/matthew)!\n- `/scrappy-webring`: adds or removes someone to your webring\n- _Remove_ a post: delete the Slack message and Scrappy will automatically update for you\n- _Edit_ a post: edit the Slack message and it will automatically update for you\n- _Post_ a message to the `#scrapbook` channel or add an existing Slack message to Scrapbook by reacting to it with the `:scrappy:` emoji (Note: If it isn't working, make sure Scrappy is added to the channel by mentioning `@scrappy`)\n\n## Contributing\n\nContributions are encouraged and welcome! There are two GitHub repositories that contain code for Scrapbook: the [Scrapbook website](https://github.com/hackclub/scrapbook#contributing) and [Scrappy (the Slack bot)](https://github.com/hackclub/scrappy#contributing). Each repository has a section on contributing guidelines and how to run each project locally.\n\nDevelopment chatter happens in the [#scrapbook-dev](https://app.slack.com/client/T0266FRGM/C035D6S6TFW) channel in the [Hack Club Slack](https://hackclub.com/slack/).\n\n## Running locally\n\nIn order to run Scrappy locally, you'll need to [join the Hack Club Slack](https://hackclub.com/slack). From there, ask @sampoder to be added to the `scrappy (dev)` app on Slack.\n\n1. Clone this repository\n   - `git clone https://github.com/hackclub/scrappy.git \u0026\u0026 cd scrappy`\n1. Install [ngrok](https://dashboard.ngrok.com/get-started/setup) (if you haven't already)\n   - Recommended installation is via [Homebrew](https://brew.sh/)\n   - `brew install ngrok`\n1. Install dependencies\n   - `yarn`\n1. Create `.env` file at root of project\n   - `touch .env`\n   - Send a message mentioning `@creds` in [Hack Club's Slack](https://hackclub.com/slack/) asking for the `.env` file contents\n1. Link your `.env` with your Prisma schema\n   - `npx prisma generate`\n1. Start server\n   - `yarn dev`\n1. Forward your local server to ngrok\n   - `ngrok http 3000`\n   - Your ngrok URL will be printed out after running this command, which you will need for the next step\n1. Update the [Slack settings](https://api.slack.com/apps/A015DCRTT43/event-subscriptions?)\n   - Click the toggle to enable events\n   - Update the URL request URL to be `\u003cyour-ngrok-url\u003e/api/slack/message`. An example would look like `https://ea61-73-68-194-110.ngrok.io/api/slack/message`\n   - Save changes and reinstall the Slack app\n   - This will regenerate Scrappy's [oauth](https://api.slack.com/apps/A015DCRTT43/oauth?) tokens, so make sure to update these in the `.env` file \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackclub%2Fscrappy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackclub%2Fscrappy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackclub%2Fscrappy/lists"}