
iOS 12 がリリースされ、Siri Shortcuts が使えるようになりました。 「ショートカット」アプリから GUI プログラミングのような感じで処理を定義できます。
過去にマインクラフトのマルチプレイサーバーを立てる Lambda Function を作成し、Slack の Slash Commands から叩く記事を書きました。
今回はこの Lambda Function を Slack の代わりに Siri Shortcuts から叩けるようにして、「Hey Siri, マイクラサーバー立てて」の呼びかけでサーバーを立ててもらえるようにしました。
動作の様子です。(なんか多重実行されて Slack にエラーログ流れてるけど🙇)
仕組み#
仕組みとしてはざっくり下図のようになっていて、これまで Slack の Slash Commands から叩いていた API Gateway のエンドポイントを Siri Shortcuts から叩くようにしただけです。

ショートカットの作成#
Siri Shortcuts の作り方は簡単で、API Gateway のエンドポイントにパラメータ付きで POST リクエストを飛ばすだけでよいので、下の画像のような短い定義になりました。URL を指定するだけのアクションの下に、「URL の内容を取得」という HTTP リクエストを実行するアクションを接続して、リクエストメソッド・パラメータを指定しただけです。

あとは「Hey Siri,」で実行できるようにフレーズを録音して登録すれば完成です。


感想#
Siri Shortcuts 作りは iPhone だけでお手軽に GUI プログラミングのような要領で出来て楽しいですね!今回は API リクエストを飛ばしたぐらいでしたが、条件分岐などの制御構文も含め、めちゃくちゃ色んな処理が書けて自由度が高いので夢が膨らみます。