linebotまとめ

今作っているlinebotのまとめ記事

概要

line公式アカウントの後ろにawsがあり、ホットペッパーやGoogleカレンダーと連携しています。

概要

基本の仕組み

lineにはwebhookという仕組みがあり、メッセージをlineがうけとると、その内容をAPIに送ってくれます。

こんな感じ

概要

基本は、この仕組みで、lineから送られてきたメッセージに対して、リプライをする。

途中でdynamoDBに書き込んだりする。って形で動いています。

おまけの仕組み

ですが、一部、メッセージのやり取りだけでは難しい事があります。

そういう時には、こんな感じで、webページを途中ではさんだりします。

概要

また、私の場合は、メールの受信をする必要があったので、こんな仕組みもあったりします。

概要

この辺の仕組みの詳しいところはこちらをご覧ください!

詳細

概要

こんな感じで動いています。

仕組み

  • webhookからきたメッセージをlinbotWebhookが内容や、ヘッダー情報を確認し、処理対象と判断したら、analysisにメッセージ送信。

  • analysisはメッセージを解析し、GetReplyMessageへ送信。

  • getReplyMessageはdynamoDBとのやり取りなどをして、リプライの必要があった場合は、linebotReplyMessageへ返信内容を送信。

  • linebotReplyMessageはもらったメッセージをそのまま送信する

って感じになってます。

やっぱり役割分担すると、テストも設計も楽ちんですね!

経緯

この作りに至るまでは、こんな経緯をたどっています。

最初はこんな感じで

概要

SQSだらけになって…詳細

概要

SQSをSNSに変えて…詳細

概要

ログ収集用のSQSを追加した。

概要

で、ログ収集のためにログ用SQSを作った経緯は今執筆中ww

完成品の紹介

下記、全て同じ↑のプログラムで動いています。

設定ファイルが違うだけ。

ゆいちゃん

最近はなかなかいう事を聞いてくれません…ww

ちょっと詰め込みすぎたかなww

一応かろうじて動くようになったので、お友達追加はこらちからー

バグ報告大歓迎!

ぶるーでぃちぇっかー

商品ページはこちら

友達追加はこちらからどなたでもどうそー

生理予測とかをしてくれるbot。無料サービスです。

唯一まだバグ報告がされてないww

治療院予約くん

商品ページはこちら

構成とか、作ることになった流れなんかは、こちらのLT資料を見て頂ければと思います!

唯一の有料サービスww

CD/CI

ちょっと一部追いついていないのだけれど、jenkinsで、cloudFormationを使っての自動デプロイ。postmanを使っての自動テストをしています。

そのうちまとめます。

jenkinsサーバーを立てる話は書きかけだけどこちら


るな
るな
エンジニア