この記事は Dark - Developers at Real Kommunity Advent Calendar 2015 - Adventar の5日目として書かれています。
こんばんは。たなあら (@ara_ta3) | Twitter です。
Darkのアドベントカレンダーに絶対に空きは作りません。
酔っ払った勢いで書ける唯一のアドベントカレンダーとして書き続けます←
Darkというコミュニティのアドベントカレンダーとして書いています。
もし興味を持たれた方はTwitter等で絡んで頂ければと思います。
Dark - Developers at Real Kommunity | Doorkeeper
DarkではSlackを利用して、日頃の闇を・・・ごほんごほん。日頃のコミュニケーションを行っております。
そのインテグレーションの紹介でもできたらなーって思いで今日はポエムを書きます。
DarkのSlackではインテグレーションがいくつかあります。
こんな感じです。
今日はこのSlack APIの利用について話そうかと思います。
このグループではSlackの招待はイベントに来てくださった方に招待を送っているのですが、どうしても招待を送るタイミングがイベント後になってしまって当日のタイミングでSlackに入れないということが起こってしまいます。
なので、2015/12/12のイベントから招待制にすることにしました。
そうして利用したのがSlackInというライブラリ。
これを利用して、自分のサーバに立てました。
こんな感じです。
README.mdにもある通りにコマンドを実行すれば問題なく招待ページが起動出来ます。
$npm install -g slackin $slackin "your-team-id" "your-slack-token"
そして、nginxで一部のパスだけslackinのほうに下記のようにroutingしています。
昔インストールされているapacheのversionが2.4でsocket.ioの設定がうまく出来なかったのでnginxにしました。
server { listen 80; server_name my.domain.com; root /path/to/document/root; access_log /path/to/access/log; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location /slack { auth_basic "Restricted"; auth_basic_user_file /path/to/.htpasswd; proxy_pass http://localhost:3000/; } location /assets { proxy_pass http://localhost:3000/assets; } location /invite { auth_basic "Restricted"; auth_basic_user_file /path/to/.htpasswd; proxy_pass http://localhost:3000/invite; } location /socket.io { proxy_pass http://localhost:3000/socket.io/?$args; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
いやー最高。これでポチポチ招待送ってた地味な作業もごほんごほん。
ただ、私のサーバにはBasic認証を入れているので、イベントに来ないと招待できない仕様になっています。
イベントに来なくても招待できてもいいかなぁと思いつつとりあえずはイベントに来てくださった方だけにしようかなと思いました。
興味持たれた方は是非ご参加よろしくお願いしまっすヽ(´ω`)ノ
http://yamiga.waka.ru.com/