Slackでカウント機能

今回はSlackで簡単なカウント機能を作ってみたいと思います。

 

背景

私が何に使おうと思って作ったのかを簡単に書いておきます。

私の周りでは物品貸し出しや簡単な人材派遣を行っておりまして、

その返却日時や未完の管理をしたり、これまでに行ったサポート回数のカウントをしてモチベーションアップに繋げたいという狙いがありました。

ゴール

私と同じチームに所属していて使い方だけ見たいという方はこちらをどうぞ。

完成したものの使い方です。(作り方は下のほう参照)

◆サポート依頼が来たらSlackに入力

Slackの指定チャンネルに以下のおまじないを入力(物品の場合)

! 物品 物品名 PJ名 詳細 期限

具体的には、

! 物品 プロジェクター PJ名 イベント利用 5/19

こんな風に書きます。*1

物品以外にも、

! 人材派遣  PJ名 内容 詳細

! ネット管理  PJ名 内容 詳細

 といったおまじないがあります。

◆Slackに入力したらbotから返事が!

上のようにSlackに入力すると、

f:id:Lilybear:20170512185445p:plain

こんな風にbotから返事がありました。

サポート番号は後で使うので、サポートを請け負った人は覚えておきましょう。

◆終わったら忘れず書き込もう

貸し出していた物品が帰ってきたり、サポートが終了したら

サポートを登録した人はSlackの指定チャンネルに以下のように記入しましょう。

fin b サポート番号

2番目の"b"は物品を表しており、 

  ・人材派遣なら、"j"

  ・ネット管理なら、"n"

を記入しましょう。

すると、

f:id:Lilybear:20170512185905p:plain

こう言って労ってくれます。

◆入力内容はここで管理している!

入力内容はスプレッドシートで管理されており、

f:id:Lilybear:20170512190148p:plain

こんな風になっています。

サポートが完了し、Slackに入力されると右端のセルに○が入力されます。

つくりかた

ここからは上の機能のつくりかたを解説したいと思います。

私たちのチーム以外で直接この機能を使うという方はほとんどいらっしゃらないでしょうが、Slackへの入力をつかったカウント機能や、Slackとスプレッドシートの連携技など参考になるところがあれば幸いです。

◆材料

・Slack

スプレッドシート

・GoogleAppsScript

・Outgoing WebHooks

◆投稿内容が書き込まれるスプレットシートを準備する。

適当にスプレットシートを作ります。作ったスプレッドシートのURLの

spreadsheets/d/(ここ)/edit#gid=123456789

(ここ)の部分をコピーして控えておきます。

これがスプレッドシートのidで、後でプログラム側から呼び出すために使います。

◆GAS(GoogleAppsScript)の準備

GoogleDriveで「左上の「新規」を選択→その他→アプリを追加」からGoogleAppsScriptを追加しておきましょう。

一度追加するとGoogleドキュメントなどと同じように「新規」からGASのプログラムを作れるようになります。

GASで新規作成して、プログラムを打つ前に以下の設定をしておきましょう。

①ライブラリの追加

f:id:Lilybear:20170512193610p:plain

上のタブのリソース>ライブラリ を選択して以下のキーを入力します。

Key:M3W5Ut3Q39AaIwLquryEPMwV62A3znfOO

参考:

qiita.com

次に

ファイル>プロジェクトのプロパティ>スクリプトのプロパティ で、

「行を追加」を選択して、

左側:Slack_Access_Token

右側:下のURLから取得したToken

※この機能を追加したいチームのTokenを取得

api.slack.com

コードには以下のURL先にあるsupportの内容をコピペして、適宜(括弧書き)しているところを埋めてください。

github.com

 ここまでできたら,上のタブの 公開>ウェブアプリケーションとして公開 から公開し,URLをメモしておきましょう.

同じ要領でもう一つGASプログラムを作ります.

今度は上のURLのsupportfinを使いましょう.

◆Slack側の準備

次に自分のSlackチームのメニューを開いて、Apps & integrations を選択。

f:id:Lilybear:20170512191056p:plain

こんな画面が出たら、「OutgoingWebHooks」を検索。

f:id:Lilybear:20170512191237p:plain

Add Configurarionを選択。

次のページでAdd integrationを選択して設定画面に移ります。

f:id:Lilybear:20170512191550p:plain

Channel    :Slack側でカウントにつかう入力を取りたいチャンネル

Trigger Word(s):Slackでの投稿の先頭にこの文字が来ていたらカウントプログラムを

発動させるよという記号。例えばここでは!を指定しておきます。

URL(s)    :先ほど取得したURL先のGASのプログラムが走ります。

 この操作をURLを変えて2回行います.

 

以上で作業は終了です.

是非やってみてくださいね.

*1:最初の!は半角でも可、文字間のスペースは半角