1
/
5

AIとchatできるLineBotを作った話3

STEP1 Webサーバーの構築

まずはLineからのWebhookを受け取るためにエンドポイント(URL)の作成をしなくてはいけません。

URLについて
URLというと、ホームページにアクセスする為のものと言う印象があると思います。
それもその通りですが、もう少し厳密にいうとサーバーの住所の様なものになります😃
友達の住所がわかれば文通することが出来るという様な感じです!
例えば、https://yahoo.co.jpにアクセスするとyahooのページが取得できます。
これは、ブラウザがWebサーバーの住所に対してHP見せてというリクエストを出して、サーバー側はHPを返しています。

URLはWebサーバーの住所なので、ホームページ見せて!以外の情報も送ることができます。
例えば下の様な感じです。


VPSをレンタル

ということでアクセス可能なURLを作成するためにVPS(バーチャルプライベートサーバー)をレンタルして、そこにWebサーバーを構築していきます。

VPSはそれほどメモリの大きいものは必要ないので、今回は1GBのサーバーを選択しました。

借りたVPSにDjangoで作ったプロジェクトを配置して、稼働させます。

これで万人にアクセス可能なURLを作ることができました😃

Lineからのメッセージを取得して返信するプログラムの作成
webサーバーの構築が済んで、URLをLineアカウントに登録しました。これで準備完了です。

あとは送られてきたメッセージに返信するロジックを作成するのですが、その前に一つ重要なことがあります。

それは、送られてきたメッセージが本当にLineから来ているものかWebサーバーには判断出来ないということです。悪意のある人がLineのフリをしてきた場合でも、Webサーバーには分かりません😔

そこで、webhookを使う場合にはサーバー内のLineに返信するシステムにデータを渡す前に、送られてきたメッセージが本当にLineから送られてきたものかを検証する必要があります。

Lineから送られてくるメッセージの中には、上の画像でいうハンコの様なものが含まれています。これを検証することで、本当にLineからのメッセージなのかを確認します。

公式ドキュメントを参考にしながら、検証機能を実装します!

これで後は来たメッセージをどう処理するかを実装するだけになりました!

ここからはpythonを書くことでどんなメッセージを返信するのかを書いていくことになります。
ここまでは工夫の余地はあまりありませんが、ここからは発想が大事になってくる楽しい時間です😃

大体ここまでで半日ちょっとというところです!次回はWebサーバーがメッセージを受け取り返信するところを書きます!

AIとchatできるLineBotを作った話4に続く


スリーケシステム株式会社's job postings

Weekly ranking

Show other rankings
Invitation from スリーケシステム株式会社
If this story triggered your interest, have a chat with the team?