はじめに
最近流行りのスマートスピーカー。
『Google Home Mini』を使って遊びたいと思います。
今回はTwitterでフォローされたらしゃべらせるを実装してみます。
フォローされたら
「戦闘力・・・たったの5か・・・ゴミめ・・・」としゃべらせてみますwww
必要なもの
- Google Home MIni
- Twitter
Twitterのフォローがトリガーなので、必要です。
- IFTTT
Twitter⇔Slackを連携させるために使用します。
Webサービス同士を連携させる事ができるツールです。
- Raspberry Pi
Google Home Mini にしゃべらせるためには、
google-home-notifier というプログラムが必要です。
google-home-notifierが動く環境あれば、ラズパイ以外でも構いません。
私は、Rapberry Pi Zero Wを使用しています。
- Slackワークスペース
一旦Slackを経由させるので必要です。
- Google Apps Script
IFTTT⇔Raspberry Pi(google-home-notifier)を繋ぐ間に必要です。
構成図
登場人物が多いので、図にまとめます。
図の流れでTwitterフォローをトリガーにして、Google Home Miniに発話させます。
手順
<前提>
- Google Home Miniは使用できる状態になっていること。
- Raspberry Pi は google-home-notifierが起動してPOSTできる状態になっていること。
この辺はたくさんの方が記事にされているので、ここでは割愛します。
下記の様な記事を参考にしてください。
- google-home-notifier経由で音声ファイル(mp3)を再生できる状態になっていること。
下記の記事を参考に実装しました。
Google Apps Scriptの実装をやっていきます。
まず、google-home-notifierを起動した時に生成される、外部公開用URLを確認しておきます。
※google-home-notifierに同梱されているngrokと呼ばれるプログラムの機能です。
Raspberry pi で以下のコマンドを実行します。
表示された https://xxxxx.ngrok.io の部分を控えておきます。
続いて、Google Apps Scriptを作成します。
Googleドライブを開き、新規 > その他 > Google Apps Script をクリックします。
コード.gsに次のコードを貼り付けます。
※xxxxxはご自身の環境に合わせて編集してください。
プロジェクトを公開します。
公開 > ウェブアプリケーションとして導入 をクリックします。
プロジェクトバージョン:新規作成
次のユーザーとしてアプリケーションを実行:自分
アプリケーションにアクセスできるユーザー:全員(匿名含む)
として、"導入"をクリックします。
現在のウェブアプリケーションのURL を控えておきます。
続いて、SlackからGoogle Apps Scriptを連携させる設定をします。
SlackのAppディレクトリで"発信Webフック"を追加します。
発信Webフックの設定をします。
チャンネルはSlackのどのチャンネルを監視するかです。
URLにGoogle Apps Script の"現在のウェブアプリケーションのURL"を貼り付けます。
最後に、TwitterでフォローされたらSlackに通知するIFTTTのレシピを作成します。
thisにTwitterの"New follower" thatにSlackの"Post to channel"を設定します。
設定は以下の様になります。
Messageは何でも構いません。
動作確認
フォローされないことには、発動しないので。。。
IFTTTで別のトリガーを作って、試してみました。
〆