JeongHoon Byun (aka Outsider) 552e746a76 Merge pull request #74 from CodeCumbria/master | 8 years ago | |
---|---|---|
bin | 8 years ago | |
locales | 8 years ago | |
public | 8 years ago | |
routes | 8 years ago | |
screenshots | 9 years ago | |
views | 8 years ago | |
.gitignore | 8 years ago | |
Dockerfile | 8 years ago | |
LICENSE.md | 9 years ago | |
README.md | 8 years ago | |
app.js | 8 years ago | |
app.json | 8 years ago | |
azuredeploy.json | 8 years ago | |
config.js | 8 years ago | |
iisnode.yaml | 8 years ago | |
manifest.yml | 8 years ago | |
package.json | 8 years ago |
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.
This project support Heroku, Azure and Cloud Foundry.
You can set variables for your own purpose in config.js
or environment variables.
config.js
Fill out config.js
as your infomation.
community
: your community or team name to display on join page.slackUrl
: your slack team url (ex: socketio.slack.com)slacktoken
: access token of slack.
You can generate it in https://api.slack.com/web#auth.
You should generate the token in admin user, not owner.
If you generate the token in owner user, missing_scope
error will be occurred.inviteToken
: an optional security measure - if it is set, then that token will be required to get invited.locale
: application language (currently de
, en
, es
, fr
, ja
, ko
, pl
, pt
, pt-BR
, tr
, zh-CN
and zh-TW
available).You can set environment variables directly or in .env
file.
If you want to use a .env
file, 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.
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
LOCALE=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
Add the application settings that are defined above enviornment variables.
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.
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