Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
5
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

スマートスピーカーで、サイゼリヤ1000円ガチャを作ってみた

次の記事に触発されて「サイゼリヤ1000円ガチャ」をスマートスピーカーで作成してみました。
サイゼリヤ1000円ガチャをつくってみた(Heroku + Flask + LINEbot)

使用したツールは、Voiceflow です。Amazon AlexaとGoogle Home版の2種類が作成できるので、おすすめです。

概要

実際の動きは、twitterに動画を上げましたので、参照ください。
v3.png
Amazon Alexa

v4.png

Google Home

処理の流れ

v2.png

  • Code Block 1つ目

115品目あるメニュー表から、データを引用するために乱数を発生させます。

var maxNo = 115 ;
//Random number generator for values 1 through var maxNo
no = Math.floor((Math.random() * maxNo) + 1);
  • Integrations Block

Voiceflowの特色の一つとして、難しいコードを書かずに、Googleスプレッドシートを扱える事があります。手軽にデータベースが使えるのは、非常に便利です。

@marusho_summers 様がGitHubで公開されているデータをSQLiteを開けるフリーソフトで開いて、Excelに貼りつけ。整えて、Googleスプレッドシートにアップロードしました。

saizeriya.png

Voiceflowの設定は、次の画像の通りです。

v5.png
v6.png

※ たまに、googleスプレッドシートの認証が上手くいかない時があります。
「User is Request failed with status code 500 」と表示されたら、ハードリフレッシュのためにCtrl+Shift+R(Winクローム)を実行してください。
それでも改善しない場合は、Googleアカウント>アカウントにアクセスできるアプリから、「Voiceflow Creator Tool」を選択して、アクセス権の削除を実行すると、認証からやり直す事が出来ます。

  • Code Block 2つ目
hantei = Number(sum_budget) + Number(budget);
AlexaかGoogle Homeか判定

Speak Block だけだと、文字が表示されないのでCard Blockも使いました。
しかし、Googleアシスタントだと文字が2重に出力されるので、プラットホームを判定して、処理を分けました。(変更前は、概要の画像のようになってました)

v7.png

乱数にならない

再生マークみたいなボタンは、Quick Testです。
v10.png

PROJECT TESTINGと表示されるので、Debug Modeをオンにします。
v12.png

ここでは、押すたびに結果が変わるのですが・・・。
v13.png

paiza.ioで乱数を発生させる場所をテストしてみたのですが、問題ありませんでした。
今後の課題とします。

本記事で伝えたい事

短い時間でサービスを作るハッカソンなど、動くことを実感したい場面に、Voiceflowをお勧めします。

Voiceflowはいいぞ!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
5
Help us understand the problem. What are the problem?