Slack のリマインド機能 /remind がわかりづらいのでわかりやすくまとめた

Slack にはスラッシュコマンドという /xxxx と書いてコマンド xxxx を実行する仕組みがある。これに /remind があり、リマインダーを実現できるらしい。使い方を調べてみたが、既存の記事はわかりづらいので、自分にとってわかりやすいようにまとめてみた。

前半はリマインド概要、後半から具体例。

目的

やりたいことは以下の 2 つ。

  • 自分自身に対して
    • 「~~時に~~する」「~~分後に~~する」みたいな 今日中の予定をリマインドしたい
    • タスク管理したい。特にルーチンタスクを登録したい

これらの実現に絞って調べた。

リマインド概要

リマインドとは何か

リマインドとは指定時間後or指定時刻に指定メッセージを通知すること。事前に「~~時に~~というメッセージを表示しろ」と仕込んでおくことで実現する。

リマインドを実現するツールや機能はリマインダーと呼ばれる。

一番わかりやすいのは目覚まし時計。メッセージではなく音ではあるものの、事前に~~時に鳴るように設定しておけば、~~時に鳴った時に知らせてくれる。知らせてくれれば、思い出せる。

事前仕込みと通知。これがリマインド。

リマインドは何が嬉しいか

リマインドを導入すると「いったん忘れることができる」ようになる。その分、頭を本来の仕事に費やせる。集中できる。

たとえば 15 時から打ち合わせがあったとすると、忘れないよう「15時から会議、15時から会議」と頭で意識することになるが、これだと仕事に集中できない。リマインダーがあれば、14:50 くらいに「会議だぞ!」と表示するリマインドをセットしておくだけでいい。これだけで、14:50 に「会議だぞ!」と通知されるので思い出せる。それまでは、会議のことは一切意識することなく、仕事に集中できる。

予定失念を防止しつつ、集中も確保する。それがリマインドの意義。

Slack ではどうやってリマインドを行うか

本題。Slack ではどうやってリマインドを実現しているか。

以下のようなスラッシュコマンドを投稿すると、

/remind me メッセージ in 10 m

10分後に Slackbot から以下メッセージが届く。

Slackbot「あなたからのリクエストにより、リマインダーを送信します : “メッセージ”」

/remind コマンドはどこで投稿してもいい。

「/xxx」のようにスラッシュ始まりの文字列はコマンドであり、間違ってもメッセージとして投下されることはないから心配しなくてもいい。気兼ねなく投稿しよう。

Q: Slack を起動していなくてもリマインドされますか?

Ans: されません。

なので Slack のリマインドに頼りたければ、Slack は常に起動しておきましょう。

リマインドを設定する

ここから Slack の /remind の使い方例に入っていく。(基本n)と題して、計8個の例を紹介する。

(基本1) n秒後/n分後/n時間後にリマインドする

たとえば 10 秒、10分、10時間後だとすると。

/remind me メッセージ in 10 s
/remind me メッセージ in 10 m
/remind me メッセージ in 10 h

/remind me はお決まりなので絶対に書くこと。

in も必要なので書く。

秒分時の単位について smh が最も楽だろう。secondssecond も可能だが、あえて長い文字を打つ必要はあるまい。

(基本2) n秒後/n分後/n時間後にリマインドする(別パターン)

「メッセージ in 時間指定」の他に「in 時間指定 to メッセージ」という書き方もある。

/remind me in 10 s to メッセージ 
/remind me in 10 m to メッセージ 
/remind me in 10 h to メッセージ 

ルーチンタスクを設定する

ルーチンタスクとは「定期的に実施するタスク(やること)」であり、日々の雑務や定型作業をルーチンタスクとして扱うと日々忘れずに消化できる。(ゴミ捨てなど些細なものも含めれば)人は一日に数十のルーチンタスクを抱えており、頭だけでこなそうとするとたいていやり忘れが生じるが、タスク管理すればこれを完全に防止できる。

……と前置きはこのくらいにして。ルーチンタスクを管理する方法は様々だが、リマインダーを使って「繰り返しのリマインド」をセットすることで実現する方法もある。

ここでは /remind を使って繰り返しのリマインドを行う例をいくつか取り上げる。

(基本3) 毎週xx曜日にリマインドする

以下は毎週水曜日 9:00 にリマインドする例。

/remind me メッセージ every wed

時刻指定がない場合は 9:00 固定となる。

曜日は wed など三文字表記が楽。

(基本4) 毎週xx曜日のhh:mmにリマインドする

以下は毎週水曜日 12:35 にリマインドする例。

/remind me メッセージ every wed at 12:35

時間は at (hh:mm) のように指定する。しかしながら実は at は無しでもいける(次の基本5で取り上げる)。

(基本5) 毎週xx曜日とyy曜日のhh:mmにリマインドする

以下は毎週月曜日と木曜日の 8:30 にリマインドする例。

2 つ書いているがどちらを使っても良い。

/remind me メッセージ 8:30 every mon thu
/remind me メッセージ every mon thu 8:30

リマインドの状況を確認する

(基本6) リマインド状況を一覧表示する

/remind list を使うと、現在のリマインド状況を一覧で表示できる。また、ここから一部操作を行うこともできる。

表示内容と対応操作は以下のとおり。表示順もこのとおり。

  • 今後の予定
    • まだリマインドされていないもの
    • 対応操作: 完了, 削除
  • 繰り返しのイベント
    • every で設定されたリマインド
    • 対応操作: 削除
  • 未完了の過去の予定
    • リマインドされたが完了or削除or再通知していないもの
    • 対応操作: 完了, 削除, 再通知(15分後/1時間後/明日), 全削除
  • 完了
    • リマインドされ, 完了操作もされたもの
    • 対応操作: 削除

ただし 一度に10件までしか表示されない。ページネーションについては「次の10件を表示する」→「次の10件を表示する」→ …… 「残りを表示する」という具合に、10件ずつ辿っていく感じ。「前の10件を表示する」みたいな仕組みはない。大量のリマインダーを管理するにはいささか不便か。

リマインドの動作や挙動を試したい

(基本7) どのように通知されるかを試したい

以下は 1 秒後にリマインドを行う例。1秒はすぐに過ぎるので、事実上リマインドの動作確認になる。

/remind me in 1 s to 表示テストです

ただし 1 秒後ジャストにリマインドされるわけではなく、若干(数秒~十数秒くらいか)のタイムラグがある。

(基本8) 設定した繰り返しのリマインドが正しいか確かめたい

/remind を実行した後に設定内容が表示されるので、それを見て確かめる。

例1:

/remind me メッセージ 8:30 every mon thu

これを投稿すると「毎週月曜日と木曜日 8:30 に、あなたにこれをリマインドします : “メッセージ”」と表示される。これは期待通り。ただしい。

例2:

/remind me メッセージ 8:30 12:33 every mon thu

これを投稿すると「毎週月曜日と木曜日 8:30 に、あなたにこれをリマインドします : “メッセージ”」と表示される。これは正しくない。12:33 はどこに行った?

おそらく /remind は時刻の複数指定には対応していないのだろう。

……とこのような感じで、試しに投稿してみる → 設定結果を読んでみる、を繰り返して正しい書き方を覚えていくことになる。

参考資料

いずれも網羅的はあるものの、「~~したいだけなんだけど、結局どうすればいいの?」が少しわかりづらかったので、今回このような記事を書くことにした。