{"id":46214894,"url":"https://github.com/alyosha/echobot","last_synced_at":"2026-03-03T10:01:02.718Z","repository":{"id":98418770,"uuid":"165359872","full_name":"alyosha/echobot","owner":"alyosha","description":"basic slackbot template in Golang using slash commands and layout blocks","archived":false,"fork":false,"pushed_at":"2020-04-25T20:28:35.000Z","size":41,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-02T20:10:43.957Z","etag":null,"topics":["golang","slack","slackbot","slash-commands","template"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alyosha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-01-12T07:27:27.000Z","updated_at":"2024-06-19T10:08:33.563Z","dependencies_parsed_at":null,"dependency_job_id":"b075bce7-959a-4f10-a709-0e3e2f0961d0","html_url":"https://github.com/alyosha/echobot","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/alyosha/echobot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyosha%2Fechobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyosha%2Fechobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyosha%2Fechobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyosha%2Fechobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alyosha","download_url":"https://codeload.github.com/alyosha/echobot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyosha%2Fechobot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30040242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T06:58:30.252Z","status":"ssl_error","status_checked_at":"2026-03-03T06:58:15.329Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["golang","slack","slackbot","slash-commands","template"],"created_at":"2026-03-03T10:00:35.867Z","updated_at":"2026-03-03T10:01:02.699Z","avatar_url":"https://github.com/alyosha.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# echobot\n\nA basic example of interactive message flows in Slack, this skeleton app responds to a slash command invocation with an action block containing a select menu and button. Out of the box, it simply allows users to select/deselect members from their workspace.\n\nThe purpose of this repo is to reduce boilerplate when starting up a new Slackbot project. Build on/change the existing response logic to create your own personal interactive message flow. \n\nBlocks are Slack's replacement for the [now-deprecated](https://api.slack.com/messaging/attachments-to-blocks) message attachments. Read more about them [here](https://api.slack.com/reference/messaging/blocks).\n\n\n## Setup\nFollow the steps below to get the bot up and running: \n\n1. After you've cloned the app, visit the Slack API dashboard and select `Create New App`.\n2. Once the app is created, jump inside and select `Add features and functionality`.\n3. Select `Interactive Components` and turn on interactivity for your app.\n4. You will be prompted for a request URL: this is the API endpoint to which Slack will forward any callback messages your bot receives. While in the development process I highly recommend using [ngrok](https://ngrok.com/). Once you have your URL, append `/callback` and input it on the `Interactive Components` page.\n5. Setup two slash commands for the `/add-users` and `/help` endpoints from the\n   Slash Commands tab of the dashboard\n6. Next, select `Bot Users` from the sidebar and add a bot user to your app.\n7. Visit the `Oauth \u0026 Permissions` tab and install the app to your workspace. This will generate access tokens for both you and the bot user.\n8. Obtain your signing secret from the `Basic Information` tab and set it as an environment variable (required).\n9. Obtain your bot's access token from the `Oauth \u0026 Permissions` page and set it as an environment variable (required).\n10. Build the binary and start your server.\n    - This project uses modules, which were first introduced in Go `1.11`. Use\n   of modules is optional in `1.11`, so if you are working within your `GOPATH`\nyou will need to enable the use of modules by running: `export GO111MODULE=on`\n\nYou're done! The bot is now installed to your workplace and capable of responding to the registered slash commands from any channels you invite it to.\n\n## Deployment\nThe project includes a basic deploy script for use with Google's App Engine.\nYou will need to have the [gcloud CLI](https://cloud.google.com/sdk/gcloud/) \ninstalled to utilize this locally, otherwise you can deploy via the [cloud shell](https://cloud.google.com/shell/docs/).\n\nBy default, the app will be deployed to the GCP project specified via `gcloud config set core/project PROJECT`. \n\nYou can confirm your current project by running the following command: `gcloud config get-value project` \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falyosha%2Fechobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falyosha%2Fechobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falyosha%2Fechobot/lists"}