LINE botで遊ぼう!(ラズパイ編)
my pageに戻る

はじめに

 Herokuを使った公開の方では,push先の登録処理(ユーザIDをjsonで記録)が行えなかったため,お家に転がってたラズパイzeroをサーバに使います.

※Herokuだと30分アクセスがない場合に自動的に停止するようになっていて,再度アクセスがあった時に新しくプログラムが起動する?のでメモリに格納していた変数が全てリセットされます.24時間停止しないようにすることもできますが,月の無料時間をオーバーする可能性があるのでやめました.(クレカ登録をすると無料時間が増えるので1つのサービスだけの場合は無料でできそうです.)

事前準備

LINE developersの登録

以下から登録
https://developers.line.biz/ja/services/messaging-api/
登録が済んだら,Basic settingsの下のところにある'Channel secret'とMessaging APIの下のところにある'Channel access token'の文字列をひかえる.(Channel access tokenはissueをクリックして生成)

ラズパイ関連

OSインストール,ポート設定などは割愛

ラズパイの設定

環境変数の設定

.bashrcに環境変数を記入(Herokuのときと名前を変えました)
export LINE_BOT_ACCESS_TOKEN="【LineDevelopersのChannelの設定ページで表示されたAccessトークン】"
export LINE_BOT_CHANNEL_SECRET="【LineDevelopersのChannelの設定ページで表示されたSECRET】"
変更を読み込み
$ source ~/.bashrc

ngrok

LINE botのWebhook設定をする際にhttps通信でなければいけないのでngrokというサービスを使います.
(最初はopensslを使ってやろうとしたのですが無料の証明書だと弾かれる?みたいだったので..)

LINE bot関連

Webhookの設定

Webhook URL : https://"ngrokで設定された文字列"/callback
とすればOK(文字列のところは後述のデプロイを参照)

※後ろの/callbackのところは適宜自分のプログラムに合わせて変更してください
あとは,初期設定されてる余計な返答の無効化などすると良いとおもいます.

デプロイ

※依存するライブラリを入れておく必要があります.

これで不具合がなければおしまい.

参考