Pythonを使ったlinebotの作り方(オウム返し)

ぜひ読んでほしい方

・pythonを使ったlinebotの作り方の基本を学びたい方
・herokuのアカウントを持っている方(持っていないかたは、先にお作り下さい。)
 https://devcenter.heroku.com/articles/heroku-cli#download-and-install

line botの大まかな仕組み

 line botの大まかな仕組みは、以下の図の通りです。

 このページでの大まかな流れとしては、はじめに「heroku」にあたる部分を作り、次に「MessagingAPI」、その次にそれらを紐づけ、最後に「python」のプログラムを作るといった、4段階で解説していきます。 

herokuにアプリケーションを作成

 まず、herokuにログインします。

 次に、herokuに新規アプリケーションを作成します。

Messaging API 登録

 https://developers.line.me/console/のサイトからMessagingAPIのアカウントを作成し、アプリを作成するためのチャネルを登録します。

Messaging APIとherokuをつなげる

 Messaging API でチャネルを登録したら、MessagingAPIとherokuを結びつける作業をします。

 チャネルを登録したら、それぞれ[チャネル基本設定]と[Messaging API]から、チャネルシークレットとチャネルアクセストークンを取得します。

 これらを、以下のコマンドを実行し、herokuに登録します。

 上記コードの「アプリケーション名」には、herokuにアプリケーションを作成したときに決めたアプリケーション名と同じものを使います。

pythonコードを作成・herokuへデプロイ

 いよいよ、pythonコード作成になります。

 オウム返しのlinebotを作るには、メインのpythonコードファイル「main.py」の他に、設定のためのコードが3つ必要であり、全部で4つファイルを作成する必要があります。

 「main.py」のコードは以下の通り。

 続いて「runtime.txt」のコードは以下の通り(1行だけです)。「runtime.txt」にはpythonのバージョンを記載します。

 「requirements.txt」のコードは以下の通り。「requirements.txt」にはherokuでインストールするモジュールをバージョンとともに記載します。

 最後に「Procfile」のコードは以下の通り。プログラムの実行を定義するためのファイルです。なお、珍しいと思いますが拡張子はありません。

 ここまでで、一通りプログラムファイルは完成しました。ここからは、今作成したプログラムファイルをherokuへデプロイしていきます。この記事の初めに挙げた図のうち、「python」と「heroku」をつなげる作業に当たります。

 herokuにデプロイするには、以下のコマンドを実行します。

 これでファイルのデプロイが完了し、botが完成しました。あとは、 https://developers.line.me/console/ のサイトから、linebotをQRコードで友達追加して、動くかどうか遊んでみてください。