はじめに
Slack とは ?
Slack はチームで使うチャットサービスの一つです。同じようなサービスに、HitChat や ChatWork があります。
Slack チームへの参加方法は 2 種類
Slack では以下の 2 種類の方法でチームに参加できます。
- 新規メンバーから参加申請
- 既存メンバーによる招待
しかし、『 1. 新規メンバーから参加申請 』 の方法では、登録するメールアドレスのドメインを制限する必要があります。
そのため、ドメインを持たないグループ (ユーザーズグループ、勉強会のグループ、など) では 『 2. 既存メンバーによる招待 』 の方法を取らざるを得ません。この招待を自動化したい、というのがこの記事の主題です。
Slack API について
Slack は Slack API として REST 形式の API が提供されています。チームへの招待も API が存在するのですが、公式の API 一覧には載っていません (非公式 API 扱いのようです)。
コンソールから、以下のようにして呼び出せます。
$ curl -X POST 'https://TEAM.slack.com/api/users.admin.invite' \
--data 'email=EMAIL&token=TOKEN&set_active=true' \
--compressed
TEAM は、スラックのチーム名 (英数字) で、EMAIL に招待する人のメールアドレスが入ります。TOKEN は、Slack Web API のページから作成できます。
API を利用して自動招待する
招待するプログラムを書く
POST リクエストを送るだけの簡単な処理なので、お好きな言語でプログラムを書けば終了です。
以下は、私が Crystal で作った自動招待プログラムの例です。
既存のプロジェクトのコードを利用する
Node.js で書かれた汎用招待プログラムが GitHub 上で公開されています。これを利用すると、簡単に招待ページを作ることができます。
まとめ
Slack API を使うと、チームへ招待するプログラムが作ることができます。Slack で快適なチャットライフを!