28
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DMM WEBCAMPAdvent Calendar 2018

Day 3

超入門!slackのスラッシュコマンド をカスタマイズ。

Last updated at Posted at 2018-12-02

※この記事は<ストーリー編>と<論理編>に分かれております。諸事情により詳しい技術のお話は別記事にまとめたいと思います。(じ、時間がなかったわけじゃないんだからね!)
##<ストーリー編>
どうも、おはこんばんにちわ!
みなさん社内のチャットツールは何を使っていますか?

僕が所属する会社では、"slack"です。
slack.png
slackを使っているIT企業は多いのではないでしょうか。

そんなslackを使う中で、常日頃から不便に感じていた問題がありました。

それは、「チャンネルに複数のメンバーを招待するのがめんどくさい」問題です。

数人ならまだ良いのですが、僕たちは業務上、新しいチャンネルを作り、そこに40人くらいのメンバーを招待するという作業を、頻繁に行います。

この40人の招待が、めちゃくちゃ面倒くさい。
一般的な招待の仕方は、下記のような画面で、一人一人検索して招待するのですが、
スクリーンショット 2018-12-02 22.28.35.png

なぜか検索に引っかからない人もいるんですね🤔
なぜなんだ。。。

この作業にかかる時間とストレスを、削減するための結論が、
「そうや!スラッシュコマンドや。あれをカスタマイズして、コマンド1つで任意のメンバーを全員招待できるようにしよう。」
です。

#<論理編>
ここからは、実際に僕が、スラッシュコマンドをにカスタマイズした、手順と考え方についてです。
僕は本当に何もわからなかったので、とても苦戦しました。

簡単にまとめると、
①slack api を使いslack側にアプリを作成。どのワークスペースに結びつけるかもこの時。
②今度は、slackの外に、実際にスラッシュコマンドを打った時に、動く肝心のアプリを作る。
③slack apiに戻り、何というスラッシュコマンドを叩いた時に、どのアプリにアクセスするかを設定。
→完成!

という流れです。

①については、下記の記事を参考に作りました。
https://qiita.com/t-mimura/items/d6541ec596bdebea5a7b 

slackにはデフォルトで、スラッシュコマンド が複数用意されていますが、
さらに、カスタムしやすいように、「slack api」 というgemがあり、これをインストールすると、便利なメソッドがたくさん使えるようになります。
それらは②の工程で使うことになるでしょう。

今回僕が使ったのは、.users_list や .groups_invite です。
まず、 .users_listで全ユーザー情報を集め、その中で該当するユーザーだけ取得します。
プライベートチャンネルに複数人招待するメソッドが .groups_invite になります。
.groups_inviteを使い、任意のユーザーをプライベートチャンネルに一度に招待可能というわけです。

どうですか?簡単に聞こえますよね。
ちなみに僕はわからなすぎて、形になるまでに1ヶ月くらいはかかりました。死

次回、「具体的なコードはこう書いた!」お楽しみに!!!!!

28
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?