めるノート

一児の母 兼 へっぽこWebエンジニアの内省ノート

LINE Bot や Amazon Dash Button で遊んでいた

ちょっと前に流行ったけど、余裕がなくて手を出せなかったので、今ごろになって遊びました。
だいぶ参考記事が出揃っていたので、やりやすかったです。

LINE Bot

f:id:c5meg1012:20170516221309p:plain

ゴールデンウィークに山手線沿いを内回りで、五反田から高田馬場まで歩いたのですが、そのときに@polidogがLINE Botで、2割の確率で電車が出るくじ引きを作りました。
コードも一通り見せてもらったのですが、なんか面白そうだったので、わたしもサーバルちゃんBotを作りたいと思ったのがきっかけです。

で、共有してもらったコードを参考にNode.jsで作ってたのですが、わたしNode.js使ったことなくて、そりゃ当たり前なんですが全然動きませんでした。
何回herokuにデプロイしても、herokuのlogを見た時点で503エラー。もうどうしたらいいかわからーん! と、ガチで凹みました。

翌日、普段から使っているRailsに切り替えることに。
メインで参考にしたのは

qiita.com

バグ修正で参考にしたのは

qiita.com

です。

基本、前者の記事のとおりに進めれば大丈夫なのですが、時々コメントアウト// コメントアウトになっているので、注意して適宜# コメントアウトに置き換えるか、消してしまうかしてください。

前者の記事のとおりに進めたら、$ git push heroku masterでデプロイに失敗すると思います。
Gemfilegem 'sqlite3'を削除して、

group :development do
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'
  gem 'sqlite3', '1.3.13'  # ココに追記

また、同じくGemfile

group :production do
  gem 'rails_12factor'
  gem 'pg'  # ココに追記
end

あとは$ bundle installした後に再度$ git push heroku masterします。 heroku logs -tで問題なくrailsが動いているようであれば、LINEの管理画面でwebhookのテストをした後、botを友だち登録して、声をかけてみましょう。
オウム返ししてくれると思います。

さくっと動かしたかったので、そのまま動かしてしまいましたが、いろんなSDKがあるので、こっちの方がコード見やすくなりそうだなーと思いました。
Node.jsちゃんと使えるようになったら、公式のSDKでもっかいやってみよ。

github.com

もちろんRubyもあった。

github.com

Amazon Dash Button

f:id:c5meg1012:20170516221337j:plain

こちらは比較的簡単でした。

Amazon Dash Button を購入し、以下を参考にしてセットアップをします。

qiita.com

あとは以下の通りです。

qiita.com

どちらも同じwifiの中でやらないとたぶんダメだと思います。

旦那が基本、玄関と違うフロアでヘッドホン付けながら仕事しているので、『ただいまボタン』にできるかなーと思ったのですが、サーバー置かないといけないし、だいぶタイムラグやブレがあったので、実用はきつそうだな、という所感でした。