No Description

camalot c0c81a9acb fixed the 1 pixel column that was off in the background image 8 years ago
bin e3a453bedd added comment about the .env 8 years ago
locales 34ecd5b690 Fixed a minor error in the translation into Portuguese (pt) 8 years ago
public c0c81a9acb fixed the 1 pixel column that was off in the background image 8 years ago
routes f35030b8df added setLocale 8 years ago
screenshots 90148b4df6 update the screenshot 9 years ago
views a48749945b Use type=email on input field 8 years ago
.gitignore 345a399f07 added support for .env file for local testing 8 years ago
Dockerfile 30788ef215 Add Docker support 8 years ago
LICENSE.md 06435ed629 add license 9 years ago
README.md d664679349 updated readme with how to use the .env file. 8 years ago
app.js 27d67d80e6 i18n was a global variable because it wasn't declared with a var statement due to the line above it ending in a semicolon instead of a comma 8 years ago
app.json b438c78680 Typo fix, "info" -> "into" 8 years ago
azuredeploy.json c98c6db8b4 added azuredeploy template 8 years ago
config.js a497e2bbb1 rollback config.js 8 years ago
iisnode.yaml 40e7a7aa15 added iis yaml for azure 8 years ago
manifest.yml 5ca7da6437 Add Cloud Foundry manifest 8 years ago
package.json 345a399f07 added support for .env file for local testing 8 years ago

README.md

Slack Invite Automation

A tiny web application to invite a user into your slack team.

Inspired by How I hacked Slack into a community platform with Typeform and Socket.io's slack page.

Deploy to Heroku Deploy to Azure

Settings

Local

Create a file in the root called .env with the following key/value pairs. .env files are added to the .gitignore.

  • COMMUNITY_NAME : Your community or team name to display on join page.
  • SLACK_URL : Your slack team url (ex: socketio.slack.com)
  • SLACK_TOKEN : Your access token for slack.
    • You can generate it in https://api.slack.com/web#auth. You should generate the token as an admin user, not owner. If you generate the token in owner user, a missing_scope error may occur.
  • INVITE_TOKEN: An optional security measure - if it is set, then that token will be required to get invited.
  • LOCALE: Application language (currently en, de, es, fr, pt, zh-CN, zh-TW, ja and ko available).

Sample

COMMUNITY_NAME=socketio
SLACK_URL=socketio.slack.com
SLACK_TOKEN=ffsdf-5411524512154-16875416847864648976-45641654654654654-444334f43b34566f
INVITE_TOKEN=abcdefg
LOCAL=en

You can test your token via curl:

   curl -X POST 'https://YOUR-SLACK-TEAM.slack.com/api/users.admin.invite' \
   --data 'email=EMAIL&token=TOKEN&set_active=true' \
   --compressed
Heroku / Azure

Add the application settings that are defined above for the local .env file.

Run

Node.js is required.

$ git clone git@github.com:outsideris/slack-invite-automation.git
$ cd slack-invite-automation
$ npm install
$ npm start

You can access http://localhost:3000 on your web browser.

Run with Docker

It's easy to run this service if you have installed Docker on your system.

$ git clone git@github.com:outsideris/slack-invite-automation.git
$ cd slack-invite-automation
$ docker build -t slack-invite-automation .
$ docker run -it --rm -e COMMUNITY_NAME="YOUR-TEAM-NAME" -e SLACK_URL="YOUR-TEAM.slack.com" -e SLACK_TOKEN="YOUR-ACCESS-TOKEN" -p 3000:3000 slack-invite-automation