Vanilla RubyとHerokuでLINEチャットボットを作ってみよう!

Vanilla RubyとHerokuでLINEチャットボットを作ってみよう!

※和訳 by システム部技術広報ちはっぴーでお送りします!オリジナル(英語)版はこちら : https://gmor-sys.com/2020/09/11/chatbot-en/

皆さん、初めまして!

GMOリサーチシステム部の金野エイシアです。

皆さんは『チャットボット』をご存知でしょうか?

このブログを読んでいる方のほとんどがご存知だとは思いますが、一応説明しておくと、人工知能を利用した自動会話機能のことです。

企業のHPなどを訪れた際に、「何かお困りの方はありませんか?」などという文章と共にポップアップされている、アレです。

様々なことがインターネット上でのやりとりに切り替わってきている現在、チャットボットの重要性はこれまでになく高まっていると感じます。

もちろん、このような変化の時代の中でビジネスを成功させるためには、オフラインでの対応やマーケティングなども重要です。

これらを念頭に置いて、LINE API、Ruby、Herokuを使用してチャットボットを作成するという新しい取り組みに挑戦してみました。

それにより、新しい技術を学び、Rubyのスキルを磨くことができました。

ということで、今日はわたしと一緒にLINEチャットボットを作っていきましょう!

目次

  1. LINEメッセージAPIをセットアップする
  2. Herokuをセットアップする
  3. Rubyでコードを書く
  4. 3で書いたコードをHerokuサービスでデプロイする
  5. 作成したLINE botを友達登録してテストする、楽しむ!

それでは実際に作っていきます!

Step 1.LINEメッセージAPIをセットアップする

これを行うには、LINE Developersアカウントにサインアップする必要があります。

すでにLINEアカウントをお持ちの方はhttps://developers.line.biz/en/から簡単にログインできます。

LINEメッセージAPIは、メッセージをプッシュおよび受信できます。

ログインすると、準備完了です。

<手順>

まずはプロバイダを作成します。

プロバイダーを作成すると、ボット専用のメッセージAPIチャネルを作成できるようになります。

チャネルタイプの選択を求められたら、[Create a Messaging API channel]をクリックします。

チャネルアイコンと名前がbotのLINEプロフィールとして表示されますが、後で編集できない可能性があるため、注意してください。

 

チャネルを作成した後、[Basic Settings]タブでチャネルシークレットトークン、アサーション署名トークンを発行します。

その後、[Messaging API]タブに移動し、チャネルアクセストークンを発行します。 

これは後で使用するので、メモしておくことをお勧めします。

Step 2: Heroku Web Appをセットアップする

アカウントを持っていない場合、Herokuの登録を行いましょう。

ログインできたら新しいアプリを作成していきます。

Herokuはクラウド上でアプリケーションを構築して実行するサービスなので、後でコードをHerokuにデプロイします。

Step 3: コードを書く

app.rb fileに下記を書いてみる:

まず始めに、このリンクのパッケージをアップロードします。

もちろん、PHPやPythonなどの他のプログラミング言語を使用することもできます。 

読者の方それぞれが選択した言語を使用すると仮定して、Ruby環境のセットアップ手順はこれ以上は省かせていただきます。

ただし、もしRubyに興味がある場合は、Rubyの公式ドキュメントをチェックしてみてください。

Step 4: Herokuにコードをデプロイする

Herokuでボットをホストするのは非常に簡単です。

手順があるデプロイメントタブは、Herokuサイトですぐに利用できます。

URL: https://dashboard.heroku.com/apps/{HEROKU_APP_NAME}/deploy/heroku-git

または、以下の手順に従うこともできます。 

利用できる展開方法は2つありますが、ここではHeroku CLI方法について説明していきます。

Heroku CLIをインストールする

Heroku CLI をインストールしましょう。

Herokuアカウントにログインし、もしSSH公開鍵を未作成の場合はプロンプトに従って新しい鍵を作成します。

新しいGit リポジトリを作成する

新規または既存のディレクトリでGITリポジトリを初期化していきましょう。

手順2で保存したトークンをHerokuの環境変数として設定します。

Herokuダッシュボードに環境変数を直接入力できます。

アプリケーションをデプロイする

コードをリポジトリにコミットし、Gitを使用してHerokuにデプロイします。 

変更するたびに、同じ手順を繰り返してくださいね!

最後に、LINEコンソール(ページ)に戻り、[Massaging API]タブにWebhook URLを入力します。 URLは次の形式にする必要があります。

https://{HEROKU_APP_NAME}.herokuapp.com/callback

[確認]ボタンをクリックして、Webhookが機能することを確認します。 

SUCCESSが返されたら、成功です!

Step 5: Botを友達追加してみよう

最後に、メッセージングAPIタブに表示されたQRコードを使用してLINEボットを追加します。 

新しいボットの友達とチャットを始めることができます。 

それが返信を返すなら、おめでとうございます! 

シンプルなLINEボットを作成しました。 

テストを続け、時間があれば、好きなように微調整してください。 

APIを使用してステッカーやその他の種類のファイルを送信することもできます。

デバッグ用URL: https://dashboard.heroku.com/apps/{HEROKU_APP_NAME}/logs

追記

さらに、自分自身のプロジェクトにIBMのWatson視覚認識ツールを統合してみました。
これにより、画像がボットに送られてくると送られてきた画像を識別しようとします。

最後になりましたが、誰もが正規表現を使いこなせる訳ではないと思います。

そこで、Rubyの正規表現のテストにも使えるサイト(https://rubular.com/)を紹介させていただきます。

ぜひGMOR BotをLINEの友だちに追加してみてください。

それでは、最後までお読みいただきありがとうございました!

GMOリサーチでは、WEBエンジニア(サーバーサイド、インフラ、フロントエンド)を随時募集しております。

興味のある方は、ぜひこちらからご応募ください!
詳しい募集要項など採用情報はこちら

参考:

https://developers.line.biz/en/docs/messaging-api/building-bot/

https://developers.line.biz/en/docs/messaging-api/building-sample-bot-with-heroku/

前の記事
«
次の記事
»

技術カテゴリの最新記事