きっかけ
Goの勉強のために何か作ろうという話から、最近スマートスピーカーが流行っていたので、スマートスピーカーを使った何かをGoで作るという話になり作成してみました。
調査
「Dialogflow」を使うと、コードを書かずにそれっぽいやりとりができるとのこと。今回はDialogflowにほとんとおまかせして、Dialogflowのwebhook先の処理をgoで書くことにしました。
開発
ソースコードは以下に残しています。フレームワークはEchoを使いました。
https://github.com/dorako321/googlehome-test
今回使用したバックエンド環境はPivotal CFです。cf pushだけでデプロイできるのはかんたんですね。
1 2 |
cf login -a https://api.run.pivotal.io cf push [ホスト名] -m 512M |
できたもの
作業したコワーキングスペースがネットワーク的にGoogle Homeと接続できる環境ではなかったので、今回はシミュレータで試しています。
スラックに何とポストしますか?と表示されるので、音声で返信するとその内容をポストしてくれます。
slackに通知されたのがわかります。
まとめ
リクエスト受け取ったら、リクエストボディパースして、必要な文字列抜き取ってSlackに通知するだけなので、スマートスピーカーならではのコードを書いたわけではないです。。Goの技術力が低いので色々と勉強になりました。
参考
めっちゃ参考になりました。