A tiny web application to invite a user into Tver.op. Original repo
You can set variables for your own purpose in config.js or environment variables.
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: Your access token for Slack. (see Issue token)inviteToken: An optional security measure - if it is set, then that token will be required to get invited.recaptchaSiteKey: An optional security measure - if it is set, andrecaptchaSecretKeyis set, then a captcha will be required to get invited.recaptchaSecretKey: An optional security measure - if it is set, andrecaptchaSiteKeyis set, then a captcha will be required to get invited.locale: Application language (currentlycs,de,en,es,fr,it,ja,ko,nl,pl,pt,pt-BR,tr,zh-CNandzh-TWavailable).subpath: Sub-path in URL. For example, if/exampleis set, it's served in/example, not/. Default is/.
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. (see Issue token)INVITE_TOKEN: An optional security measure - if it is set, then that token will be required to get invited.RECAPTCHA_SITE: An optional security measure - used to enable reCAPTCHA.RECAPTCHA_SECRET: An optional security measure - used to enable reCAPTCHA.LOCALE: Application language (currentlycs,de,en,es,fr,it,ja,ko,nl,pl,pt,pt-BR,tr,zh-CNandzh-TWavailable).SUBPATH: Sub-path in URL. For example, if/exampleis set, it's served in/example, not/. Default is/.
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- Configure secret:
now secret add slack-token <slack token here>
- Deploy
or
npm run deploy
now
Node.js is required.
$ git clone git@github.com:tverio/slack-invite-automation.git
$ cd slack-invite-automation
$ npm install
$ npm startYou can access http://localhost:3000 on your web browser.
You should generate the token in admin user, not owner. If you generate the token in owner user, a missing_scope error may occur.
There are two ways to issue the access token.
-
Visit https://api.slack.com/custom-integrations/legacy-tokens.
-
Click
Create token.
-
Visit https://api.slack.com/apps and Create New App.
-
Click "Permissions".
-
In "OAuth & Permissions" page, select
adminscope under "Permission Scopes" menu and save changes. -
Click "Install App to Workspace".
-
Visit https://slack.com/oauth/authorize?&client_id=CLIENT_ID&team=TEAM_ID&install_redirect=install-on-team&scope=admin+client in your browser and authorize your app.
- This form requires the
clientpermission. Otherwise, you can see{"ok":false,"error":"missing_scope","needed":"client","provided":"admin"}error. - Your
TEAM_IDis the subdomain for your slack team, e.g. myteam.slack.com - your TEAM_ID ismyteam. - Your
CLIENT_IDfound in "Basic Information" section for your App. - You will be shown a
Installed App Settings > OAuth Tokens for Your Teamscreen. - You can test auto invites with curl by providing the
OAuth Access Token.
curl -X POST 'https://myteam.slack.com/api/users.admin.invite' \ --data 'email=test@email.com&token=OAuthAccessToken&set_active=true' \ --compressed
- This form requires the
You can use the badge to show status of user in your slack.
-
With default colors:
<img src="https://your.domain/badge.svg"> -
With custom colors:
?colorA=abcdefSet background of the left part (hex color only)?colorB=fedcbaSet background of the right part (hex color only)
<img src="https://your.domain/badge.svg?colorA=155799&colorB=159957">







