{"id":15715245,"url":"https://github.com/crazyoptimist/slack-rails-bot-starter","last_synced_at":"2025-05-12T21:24:15.181Z","repository":{"id":50090404,"uuid":"296277415","full_name":"crazyoptimist/slack-rails-bot-starter","owner":"crazyoptimist","description":"Slack Rails Bot Starter","archived":false,"fork":false,"pushed_at":"2024-03-11T18:09:24.000Z","size":133,"stargazers_count":12,"open_issues_count":1,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-20T18:38:45.403Z","etag":null,"topics":["bot","slack","slackapp","slash-commands"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/crazyoptimist.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}},"created_at":"2020-09-17T09:16:44.000Z","updated_at":"2025-02-12T14:26:21.000Z","dependencies_parsed_at":"2024-03-11T19:25:39.780Z","dependency_job_id":"2c8cc61c-e4b6-4a47-a41b-e5de605a2eca","html_url":"https://github.com/crazyoptimist/slack-rails-bot-starter","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazyoptimist%2Fslack-rails-bot-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazyoptimist%2Fslack-rails-bot-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazyoptimist%2Fslack-rails-bot-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazyoptimist%2Fslack-rails-bot-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crazyoptimist","download_url":"https://codeload.github.com/crazyoptimist/slack-rails-bot-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253823968,"owners_count":21969942,"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":["bot","slack","slackapp","slash-commands"],"created_at":"2024-10-03T21:40:44.120Z","updated_at":"2025-05-12T21:24:15.150Z","avatar_url":"https://github.com/crazyoptimist.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack Rails Bot Starter\n\nThis is a boilerplate for building [slack apps](https://api.slack.com/start) with Ruby on Rails.\n\nThe default branch `master` uses Mongoid as database adapter. For ActiveRecord, please check [`postgres`](https://github.com/crazyoptimist/slack-rails-bot-starter/tree/postgres) branch.\n\n## Setup\n\n### Prerequisites\n\n- FQDN(Fully Qualified Domain Name) to host the app publicly. You can also choose to use [ngrok](https://ngrok.com/) instead.\n\n### Create a New Slack App\n\n1. Create a new app [here](https://api.slack.com/apps?new_app=1)\n2. Navigate to the **OAuth \u0026 Permissions** page and add the following **Bot Token Scopes**:\n\n- `users:read`\n- `channels:read`\n- `groups:read`\n- `chat:write`\n- `commands`\n- `incoming-webhook`\n  **BASE_URL** stands for https://slackbot-hosted-domain.com hereafter.\n  Use **BASE_URL** for **Redirect**.\n\n3. Activate **Interactivity \u0026 Shortcuts** and add this url: `BASE_URL/api/slack/action`\n4. Activate **Slash Commands** adding two slash commands `/ping`, `/quiz` and use this url: `BASE_URL/api/slack/command`\n5. Activate **Event Subscriptions** subscribing to the event type `member_joined_channel` and add this url: `BASE_URL/api/slack/event`(This step needs the application to be running :D so you can skip this and come back a few mins later)\n6. Navigate to the **App Home** page and toggle **Always Show My Bot as Online** (according to your reference)\n\n### Install Dependencies and Create a `.env` File\n\n```bash\nbundle install\n```\n\n```bash\ncp .env.example .env\n```\n\nGo to https://api.slack.com/apps, click on your application.\n\nCheckout what's needed for `.env` from the **Basic Information** section.\n\n## Run the App\n\n```bash\nrails s\n```\n\nOpen **BASE_URL** in your browser.\n\n## Learn More About Slack Apps with Ruby\n\n- [Slack Ruby Bot Server](https://github.com/slack-ruby/slack-ruby-bot-server)\n- [Slack Ruby Bot Server Events](https://github.com/slack-ruby/slack-ruby-bot-server-events)\n\n## Deployment\n\nPlease follow the standard Ruby on Rails application deployment methods.\n\n## Contributing\n\nThanks in advance for your contribution!\n\n- Fork the project (https://docs.github.com/en/get-started/quickstart/fork-a-repo)\n- Create your own branch with a meaningful name\n- Install dependencies by running `bundle install`\n- Make changes and push your commits\n- Create a pull request\n- Add a PR description explaining what it is for.\n\n## Credit\n\nThis boilerplate uses [Slack Ruby Bot Server Events](https://github.com/slack-ruby/slack-ruby-bot-server-events).\n\nThanks to [Daniel Doubrovkine](https://github.com/dblock) and all the contributors.\n\nMade with :heart: by [crazyoptimist](https://github.com/crazyoptimist)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazyoptimist%2Fslack-rails-bot-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrazyoptimist%2Fslack-rails-bot-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazyoptimist%2Fslack-rails-bot-starter/lists"}