今回は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が作成できるので作ってみてはいかがでしょうか