Sign inSign up

ninthwalker/slack-invite

By ninthwalker

Updated over 9 years ago

Slack invite website

Image
0

10K+

ninthwalker/slack-invite repository overview

NOT FOR GENERAL USE - Customized Slack Invite Automation for myself

Modified for unRAID docker usage.

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.

Settings

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 : Your access token for 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, a missing_scope error may occur.
  • 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).
Environment Variables

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.
    • 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 de, en, es, fr, ja, ko, pl, pt, pt-BR, tr, zh-CN and zh-TW 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
Heroku / Azure

Add the application settings that are defined in the environment variables above.

Run

Node.js is required.

$ git clone [email protected]: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 [email protected]: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

Tag summary

Content type

Image

Digest

Size

257 MB

Last updated

over 9 years ago

docker pull ninthwalker/slack-invite