Rubotyとは
Rubotyとは、Slackなどで動くBOTフレームワークの一つです。
簡単にRubyでボット書けるとても便利なフレームワーク。
ruboty-cronとは
rubotyには便利なプラグインが多数あり、代表的なものの一つとしてruboty-cronがあります。
ruboty-cronは、cron形式でジョブ(定期的にチャットにポストするメッセージ)を登録できる優れものです。
もちろん、定期的にボットコマンドを登録しておけば、時間指定でボットに何かをさせることもできます。
$ bundle exec ruboty
Type `exit` or `quit` to end the session.
> @ruboty add job "* * * * *" @ruboty ping
Job 3117 created
pong
pong
pong
> @ruboty list jobs
3117: "* * * * *" @ruboty ping
> @ruboty delete job 3117
Deleted
本題
ruboty-cronでジョブを登録する際に 以下のコマンドを何度実行しても処理されませんでした。
(一切応答もない。。)
実行コマンド: ruboty add job "* * * * *" ruboty echo hoge
ruboty help
してみると
ruboty /add job "(?<schedule>.+?)" (?<body>.+)/m - Add a new cron job
と表示されるので、シンタックスはあってるはず。
原因
原因は Macのスマート引用符でした。(macOS High Sierra)
ダメな場合

うまくいく場合

両方並べて拡大した画像

引用符が違うのわかりますか?
ということで、Mac標準機能で引用符が勝手にスマートなやつに変わるのが原因でした。
これをやめるには、[環境設定] - [キーボード] からユーザ辞書をを開き、
スマート引用符とスマートダッシュを使用
のチェックを外します。
これで add できるようになります!!
ちなみにスマート引用符でググると
Mac でコーディングする人は「スマート引用符とスマートダッシュ」を OFF にしようという話
OS X のスマート引用符(怨)を止めさせる
など見つかるので、エンジニアのみなさんは無効化しておいた方がよさそうです。