LINE bot作ってみた詳細②〜LINE bot自作(1/2)
さて、LINE botの続きです。
前回はLINEのデフォルトのbot機能を使えるようにするまででした。
今回はいよいよLINE bot作成して、Webサーバにあげるまでを書きます。
注:今更ですが、この記事は初心者向けです。私自身が初心者なので。
知識のある人にとってはクドイと思うので、適当に読み飛ばしてください。
①「LINE-bot-SDK」を「gitのリポジトリ」から「clone」
②「STSでpomとapplicationpropertiesを編集して」「./ngrok」で動作確認。
③「heroku」に「deploy」して完成!
ってやれば簡単!
という記事が沢山あります。
どうも皆さん簡単にできている様子。
が、こっちは初心者過ぎて、それ何語ですか?っていう状態
なわけですよ。
調べたやり方にでてくる未知の単語をいちいち調べたら、その先でまた新しい未知の単語に出会うという地獄。。
そんなこんなで、調べた結果を超噛み砕いて書くと、
①「LINE botのテンプレ」を「なんかネット上にある元データ」から「コピって」
②「編集ツールでちょい編集して」「手元のPCを外部公開できるやつ」で動作確認。
③「無料のWebサーバ」に「使える状態でおいて」完成!
ということです。
注:乱暴で正確性に欠くかもしれません。
正確な情報を知りたい方は、もっとプロの書いたページを参照しましょう。
0.下準備
開発環境として、
・MAC OS Sierra 10.12.4
・JAVA + SpringTootSuite
を使いました。
SpringToolSuiteは、JAVAを書く上で便利機能が色々使える開発環境です。
下記など参照しつつ、セットアップしましょう。
ちなみに、私はGradleは使わなかったので、、リンク先の後半は無視しました。
それと、前回使ったLINEのデフォルトのbot機能(自動応答)はオフにしておきましょう。
Webhook送信を「利用する」、自動応答メッセージを「利用しない」です。
これで一応下準備はOK。
1.LINE-botアプリを起動する。
とりあえず、STS(SpringToolSuite)を起動。
ファイル→新規→Springスターター・プロジェクト
でプロジェクトを作る。
名前などはなんでも大丈夫です。
こんな感じで空のプロジェクトができますね。
ここからbot実行するまで3ステップです。
(1) メインとなるjavaを書く(というかコピる)
(2) 設定ファイルを更新
(3) aprication propertitiesを設定。
(1)雑にLINE-bot-SDK-javaの内容をコピります。
gitとか使えば良かったらしいですが、よくわかってなかったので、
とりあえずそのままベラっと。
めちゃエラーでますが、今は無視。
(2)次に、pom.xmlファイルというやつのdependeciesに下記のようにLINE関係を4つ追加します。これでLINE関係のclassなどを使えるようになります。
※pom=Project Object Modelの略です。
「こんな定義ファイル使うよ!」の宣言くらいに思ってます。
(3)次に、aprication propertiesという部分に、
「channelToken」と「channelSecret」というやつを設定します。
「(今書いてるアプリは)このLINE botアカウントから呼び出されるんだよ!」ということを指定する部分ですね。
「channelToken」と「channelSecret」はどこで確認できるかというと、
LINE developersの設定するbotのページにありますので、ここの値をコピりましょう。
これでほぼ準備OK。
一応プロジェクトを上書き保存
→パッケージエクスプローラで該当プロジェクト右クリック
→「Maven」の中の「プロジェクトの更新」
→同じく右クリックから、リフレッシュ
しましょう。一応ね。
順調なら、これでエラーがなくなっているはず。
(コピーしたままだどclass名を直せと言われるかもしれませんが、その場合は指示に従って直しましょう。
これでアプリケーションができました。
「Springbootアプリケーション」として実行しましょう。
エラーが出ずに起動できればOK。
2.ngrokで試しに使ってみる。
ものとしては出来たので、これにアクセスしてみます。
ngrokという、自分のPCを外部公開してアプリ等のテストに使えるやつを使います。
このページを参考にngrokを導入しました。
ターミナルからngrokを起動します。
ngrok http 8080
すると、https〜というURLが表示されます。
これをコピーし、今度はLINE側に「このURLにアクセスしてね」と設定します。
上で確認したchannelSecretのすぐ上にある、「Webhook URL」に設定すればOK。
最後に「/callback」とおまじないをつけるのがルールです。
設定したら「VERIFY」ボタンを押してみましょう。
うまく言っていれば、Successと表示されるはず。
これで一通り終了!!
では試してみよう!
出来たー。
単純にこちらが入力した内容をそのまま返してくれる、オウム返しbotの完成です。
慣れてる人は、こんなの一瞬らしいですね。
私がそのレベルに行けるのはいつの日か。。。
今回は長くなったのでここまで。
heroku(Webサーバ)上で動かす部分は次回に続きます。
ちなみに、私の記事よりこちらのほうが遥かにスマートに紹介されてます。
(大いに参考にさせていただきました。