{"id":18459084,"url":"https://github.com/liatrio/halp-1000","last_synced_at":"2026-04-26T22:31:30.226Z","repository":{"id":47691935,"uuid":"351875586","full_name":"liatrio/halp-1000","owner":"liatrio","description":"HALP is a fairly simple bot that searches for daily gifs and posts them to Slack.","archived":false,"fork":false,"pushed_at":"2024-01-03T22:46:16.000Z","size":88,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-23T17:59:47.373Z","etag":null,"topics":["bot","liatrio-general","slack"],"latest_commit_sha":null,"homepage":"","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/liatrio.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":"2021-03-26T18:22:34.000Z","updated_at":"2023-02-17T17:20:09.000Z","dependencies_parsed_at":"2024-11-06T08:25:22.504Z","dependency_job_id":"eefd11eb-fd7b-4cde-8c33-6d10d0ed8ef3","html_url":"https://github.com/liatrio/halp-1000","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/liatrio/halp-1000","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liatrio%2Fhalp-1000","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liatrio%2Fhalp-1000/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liatrio%2Fhalp-1000/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liatrio%2Fhalp-1000/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liatrio","download_url":"https://codeload.github.com/liatrio/halp-1000/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liatrio%2Fhalp-1000/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32315711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T21:09:39.134Z","status":"ssl_error","status_checked_at":"2026-04-26T21:09:21.240Z","response_time":129,"last_error":"SSL_read: 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","liatrio-general","slack"],"created_at":"2024-11-06T08:21:44.577Z","updated_at":"2026-04-26T22:31:30.209Z","avatar_url":"https://github.com/liatrio.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HALP-Bot\n\nHALP-Bot is a Slack bot build by the HALP-1000 team and is used to Automate your Patricks (and any other employee!). Read more about HALP-Bot in our blog: TODO: Add blog\n\n![](/img/HALP.png)\n### Development\n\nCreate a Slack app for running a development version of HALP-Bot:\n\n##### Create Your App\n\n1. Goto api.slack.com/apps .\n2. Pick an name for your app.\n    - If you're developing in a shared workspace, consider a name like `${your_name}-bot`.\nThis will help others to identify who owns the bot.\n3. Select the Slack workspace you'll run the bot in for development.\n4. Click the *Create App* button.\n\n##### Run Your Local Copy\nTODO: Update for k8s development.\n\n1. Give your app a very basic permission so we have the ability to install\nour app. We'll need to re-install the app later as we add new permission scopes.\n    1. On the sidebar, select the *OAuth \u0026 Permission* tab, under *Features*\n    2. On this tab, scroll to the *Scopes*. Add the Bot Token Scope, `app_mentions:read`.\n    3. Go to the tab *Install App* under *Settings*. Click through the required\nprompts to install the app.\n2. On the *Basic Information* tab under *Settings*, find your App Credentials.\nShow the *Signing Secret* value, and save it for later.\n1. On the *Install App* tab under *Settings* copy the *Bot User OAuth Access Token*\nvalue, and save it for later.\n1. In your cloned copy of the repo, create a file called `.env`, it should contain the following environment variables:\n```\nCLIENT_SIGNING_SECRET=SECRET GOES HERE\nBOT_TOKEN=SECRET GOES HERE\n```\nReplace the values after the equals sign with the values you saved before.\nThere is no need for quotes. **Make sure to not share these values, and to not\npublish them online such as by pushing them to GitHub.**\n\n5. Now that your environment variables are configured, run your local copy\nof HALP-Bot with `docker-compose up`\n6. Forward the local application to a public hostname with `ngrok http 3000`,\nbe sure to note the hostname that ngrok generates as we'll need it later.\n\n##### Finishing Slack App Configuration\n\n1. Now that the bot is running, we can configure Slack to send specific\nnotification to it, which will trigger bot actions. In the\n*Interactivity \u0026 Shortcuts* tab under *Features* enable Interactivity and set\nthe Request URL to `https://${NGROK_HOSTNAME}/api/messages`\n2. On the *Event Subscriptions* tab under *Features* enable Events, and set the\nRequest URL to `https://${NGROK_HOSTNAME}/api/messages`\n3. On the same tab, we'll need to subscribe to bot events. Existing HALP-Bot\nfunctionality requires the following:\n    - `app_mention`\n    - `message.channels`\n    - `message.groups`\n    - `message.im`\n    - `message.mpim`\n    - `reaction_added`\n    \nIf you're developing new functionality, you may need additional event\nsubscriptions.\n4. Return to the *OAuth \u0026 Permissions* tab, as we'll need to add a few more\nscopes to the app. Slack with automatically add scopes required for the event\nsubscriptions we already set. In addition to those, we'll also need to add the\nfollowing:\n    - `chat:write`\n    - `users:read`\n    \nOnce again, if you're developing new functionality, you may need additional\nscopes to be granted.\n5. Reinstall the app by clicking the button at the top of this tab. You'll need\nto reinstall the app any time you request additional scopes.\n\nWith all of these steps complete, your bot should be running in the Slack\nworkspace you chose to develop for. You should now be ready to test your bot,\nand progress with development.\n\n#### Creating a Slash Command\n1. Under *Slash Commands* select *Create New Command*\n2. Add the slash command you wish to use - this can be anything you wish to add as a message you want your bot to respond to.\n3. Add the request URL of your bot including the path to its message interface `/api/messages` (local dev will need to be your ngrok URL such as `https://${NGROK_HOSTNAME}/api/messages`)\n4. Add a short description and save your changes.\n5. If this is the first slash command you're adding you will need to reinstall the bot to your workspace.\n\n#### Developing with the daily-image feature\n[daily-image](./features/daily-image.js) retrieves a random funny image from the Bing Image Search API\n1. To search for an image you need the environment variable `BING_SEARCH_API_KEY`\n   1. Retrieve this after creating your [Bing search resource](https://docs.microsoft.com/en-us/bing/search-apis/bing-web-search/create-bing-search-service-resource#create-your-bing-resource)\n\n\n#### Botkit Dev Resources\n[Botkit Docs](https://botkit.ai/docs/v4)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliatrio%2Fhalp-1000","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliatrio%2Fhalp-1000","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliatrio%2Fhalp-1000/lists"}