032_LINEアプリ解説

LINE Messaging API非公開マニュアル~サンプルコード解説~

LINE BOTをPythonで開発するときには、LINE公式が出しているPythonのライブラリであるline-bot-sdk-pythonを利用してコードを書くのが便利です。しかし、line-bot-sdk-pythonには日本語のドキュメントがなく、プログラミング初心者には分かりづらいと思われるので、この記事では公式が出しているSDKを利用したコード例(flask-kitchensink)を中心にしてその解説を書いてみます。

PythonでLINE BOTのコードを書くときに見るもの

LINE Messaging APIドキュメント

LINE Messaging APIの公式ドキュメントです。line-bot-sdk-pythonを利用しない場合や、Python以外の言語を使う場合もとりあえず見ることになるドキュメントです。

line-bot-sdk-pythonを使うときにはライブラリを利用したコード例や関数に関する説明はほとんどないため、APIの仕様やパラメータの意味・内容を確認する際には利用しますが、どちらかといえば補助的に見る感じになります。

Githubのline-bot-sdk-pythonのページ

SDKのGithubページです。ページ下部のREADMEに実際に使える関数やオブジェクトの解説や使用例が書かれていますし、コードを参照すればライブラリ内で定義されているメソッドやクラスの詳細も見ることができるので、line-bot-sdk-pythonを使ってコードを書くときはここのページを中心に見ていくことになります。README部分には、先のLINE Messaging APIのドキュメントへのリンクも関数やオブジェクトごとに貼られているので、適宜参照するとよいでしょう。

公式が出しているプログラム例(flask-kitchensink)

Githubの中にexamplesというフォルダが公開されており、その中にいくつかのプログラム例が公開されています。中でもflask-kitchensinkというプログラムはline-bot-sdk-pythonの使用例を網羅的に使用しているため、この例を見れば大体のものは書けるのではないかと思います。

プログラミングにある程度慣れている方でしたら以上の三つを参照すれば、あまり問題なく開発できると思われます。今回の記事では見てもよくわからないという初心者向けに、最後の公式のプログラム例(flask-kitchensink)の解説を行います。

このプログラム例が理解できれば、line-bot-sdk-pythonの使い方もほとんど理解できるのではないかと思います。

解説の前に必要な前提知識

とりあえずLINE BOTを動かせること

一番簡単なオウム返しのコードの解説は以下の記事で行っています。何もわからないという方はまず参照してみてください。

LINE BOTのメッセージ送信の種類

画像1

(LINE Messaging API公式ドキュメントより)

LINE BOTから送信するメッセージには、大きく分けてプッシュメッセージ(Push messages)とリプライ(応答)メッセージ(Reply messages)の二つがあります。プッシュメッセージとは任意のタイミングでユーザーに送信するメッセージで、リプライメッセージとはユーザーからのメッセージ(グループチャットへの入室等のイベントも含む)に対して応答するメッセージです。

プッシュメッセージにはアカウントのプランによって送信数の制限等があるので注意しましょう。任意のタイミングでプッシュ通知を送りたいとき以外は、基本的にリプライメッセージを利用することになります。プッシュメッセージを主に利用するBOTでは、line-bot-sdk-pythonというよりは他の部分のプログラミングの比重が大きいので、今回解説するプログラム例はリプライメッセージが中心になります。

例えば、プッシュメッセージを主に利用するBOTとして、毎朝天気予報を確認して雨予報だったらLINEに通知するコードを書くとします。このとき、line-bot-sdk-pythonが最低限関係するのは、認証関係のコードを除けば
 line_bot_api.push_message(user_id, TextSendMessage(text='雨予報です'))
というプッシュメッセージを送信する一行だけです。実際のプログラムは、「天気予報を確認する」というLINE BOTとは全く関係ない部分が中心になります。

flask-kitchensinkの解説

それではflask-kitchensinkの解説を行っていきます。なお、これから例をいくつかにわけて解説しますが、分かりやすくするためにコードの順番と解説の順番は変えているのでご注意ください。

例1.テキストメッセージを受け取った時にそのままオウム返しする

画像2

ここから先は

47,490字 / 20画像

¥ 2,000

この記事が気に入ったらサポートをしてみませんか?