GAE/PyとLINE BOT SDKでLINE BOTを作った

November 12, 2016
googleappengine LINE

今回はGAE/PyでLINE BOT SDKを使ってみました。

普通に考えるとpipでダウンロードして使うだけなんですが、このSDKは外部リクエストにrequestsを使用しているため使うには一工夫いります。

GAEは外部にリクエストする場合基本URLFetch APIを使う必要があります。ただ、この記事で書いたようにrequestsにモンキーパッチを当てればrequestsも使うことはできます

最初はSDKにモンキーパッチを当てようと思いましたが、 SDKのソースをみてLineBotApiのコンストラクタににHTTPのクライアントを渡せるのがわかりました。

https://github.com/line/line-BOT-sdk-python/blob/master/lineBOT/api.py#L34

そのクライアントにはHttpClientクラスを継承したクラスを作ってわたしてあげればよさそうです。

そして、それを実装して作ったBOTはこちら

https://github.com/mursts/recommend-lunch-BOT

Python東海の発表でAWS Lambdaを使って作ったものをGAEに作り変えたものです

位置情報をBOTにわたすと近くでランチやっているお店を教えてくれます。Google Static Mapを使ってぱっと見でどこらへんのお店かがわかるようにしました。

このBOTを使ってみたい場合はこのQRコードから申請してみてください。

ちなみに、先日のGCPUG NagoyaでGAEでLINE BOTを作成するハンズオンも行いました。その時の資料はこちら

簡単にBOTが作成できるので作ってみてはいかがでしょうか

comments powered by Disqus