slackのtodoアプリの挙動 – 締切(due date)の設定

こんにちは、gotosinです。

最近、家で家事全般をうまく回すために、slackを使っています。

slackには、todoアプリ「Workast」と連携できて、チャンネルの投稿欄からコマンド入力である程度タスクを操作できます。

しかし、締切の設定について、少し変な挙動をします。

タスクの中に、「◯月◯日の◯◯の件」というようなつもりで、「9/14」のような日付を記述することがあった場合に、別に締切日を記述しているのに、9/14の方を締切日とご認識してしまうのです。

これが、毎回毎回使いにくくて困っていたので、挙動を調べて記録することにしました。かなりニッチなニーズだと思いますが、どこかの誰かのお役に立てると幸いです。

todoアプリの書式

/todo タスク名 (締切日) (@担当者)

それぞれ、半角スペースで区切ります。半角カッコは省略可の意味です。タスク名にスペースを入れられないので、その場合は、ダブルクオートで囲みます。

問題の挙動

例えば、以下のようにタイプしたとします。

/todo “テスト 9/12テスト” 9/14

9/12の前に半角スペースが入っています。以下の画像のように登録されます。

半角スペースのあとの「9/12」が締切日と認識され、9/14はスルーされています。しかも、日付の直後の文字が1文字欠落しています。半角スペースを入れなかった場合も同様でした。

/todo “タスク9/12タスク” 9/14

やはり、1文字欠落して、締切日と認識されてしまいます。

ダブルクオートで囲まなかった場合はどうなるでしょう。日付の前に半角スペースを入れた場合と入れなかった場合で比較してみました。

/todo タスク 9/12タスク 9/14

/todo タスク9/12タスク 9/14

結果は同じでした。

どうやら、ダブルクオートで囲む意味はないようです。スペースを含められないというのも勘違いのようでした。

ここまで比較してみると、ようやく記述ルールが見えてきたと思います。

まとめ

slackのtodoアプリは、最初に現れた日付など締切日と思われる文字列を締切日に設定するようです。ダブルクオートで囲むか囲まないかは関係ありませんでした。半角スペースのありなしも関係ありません。なので、もっとも簡単な対応策は、次の通りです。

対策

締切日を一番最初に記述する。

/todo (締切日) タスク名 (@担当者)

参考

slack公式サイト