ただのにっき
2018-03-16(金) [長年日記]
■ GASとSlackで繰り返し作業用のリマインダを作っている
こないだ作ったSlackボットに味をしめて、以前から欲しかったリマインダを作っている。とりあえず動くようになったレベルだけど、便利すぎて鼻血が出るわ*1。サーバレスアーキテクチャ万歳!
Slackがデフォルトで提供してるリマインダは、メッセージに選択肢が追加されてて「何時間延長するか」が選べるようになっている。これすごく便利なんだけど、選択肢がお仕着せで、目的の延長時間がない場合はまったく役に立たない(と思う。おれの知らない機能があるかも知れないが)。これを、内容に合わせて選択肢も指定できると再設定の手間がなくなっていいと思うんだよね。
たとえば(はい、ここからたとえがちょっとアレになりますよ)、モバマスのぷちレッスンは寝てる間に10時間、起きてる間に10時間と3時間のコースを組み合わせるといい感じになるんだけど、この「10時間」や「3時間」が延長の選択肢にあるといいわけよ。
で、こんな感じのを作ってる。指定した時間になったらSlackにこういうInteractive Messageを投げてくれて:
「10hours」を押したら10時間後にまた同じリマインダをくれる:
スプレッドシートに行を足すだけで、別のリマインダを増やせる。もちろん選択肢も個別に設定できる*2。そうそう、ソシャゲだけじゃなくて、ポモドーロタイマーなんかにも使えるかもね(←取ってつけた感)。
コードは(Chrome拡張経由で)GitHubに置いてあるけど、まだドキュメントがないので使えないでしょう。というか、SlackAppのIncomingWebhook経由だとユーザ名やアイコンを指定しても無視されるんだけど、どうすればいいんだろう? postMessageメソッドを使うようにしないといかんのだろうか。このへんをなんとかしたい。見た目重要。(2018-03-20追記)ドキュメント書いた。あと、SlackAppの表示名やアイコンはアプリ自身(オーナー)が指定したものだけが使われるようだ。ユーザサイドでも表示名を変更できるようにはなっているけど、反映されないし、アイコンは設定すらできない。