Jan 1, 0001 · 42 words · 1 minute read

Title: GAE/PyとLINE BOT SDKでLINE BOTを作った Tags: googleappengine, LINE ] isCJKLanguage = true Date: 2016-11-12T00:15:06+09:00 00:00 Slug: line-bot-sdk-gae-py

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