祝 LINE チャンネル追加!Azure Bot Service で翻訳チャットボット作成 (1)Azure Bot Service から LINE 接続 編

Azure Bot Service で作成した (または Bot Registration されている Bot Framework ベースの) チャットボットアプリ には、Skype や Microsoft Teams、Slack などへノンコーディングで接続できるチャンネルが用意されています。この度 Azure Bot Service に追加された LINE チャンネルを活用して、入力した言葉を翻訳してくれるチャットボットを作成して LINE から使うまでのプロセスを紹介します。


1. Azure Bot Service から LINE 接続編


準備


Microsoft アカウント & Azure サブスクリプション


  • Microsoft アカウント



  • Azure サブスクリプション


    • 無料試用版で充分です。上記↑で取得した Microsoft アカウントで申し込みを行います。(無料のプランがあるので、従量課金プランでも大丈夫ですが念のため。)

    • Azure 無料アカウントを今すぐ作成




LINEアカウント

LINE アプリでご利用中のアカウントで OK です。


1.1. Azure Bot Service で EchoBot を作成する

ブラウザーで Azure Portal (https://portal.azure.com) を開き、Azure サブスクリプションが紐づいている Microsoft アカウントでサインインします。

Azure Portal から左端ナビゲーションバーから [+リソースの作成] をクリックします。

20190308_01.PNG

新規 ペインの検索欄に Web App Bot と入力し、表示される Web App Bot をクリックします。Web App Bot ペインで [作成] をクリックして作成に進みます。

20190308_02.PNG

Web アプリ ボット ペインで必要事項を設定します。

20190308_03.PNG


  • ボット名


    • お好みの名前を入力します。こちら Azure Bot Service 全体で一意となる名前になるような名前を設定してください。一意となる名前を入力すると ✓ (チェックマーク) が表示されます



  • サブスクリプション (※デフォルトのまま)

  • リソースグループ


    • お好みのグループを新規作成 or 既存のリソースグループを選択します



  • 場所


    • Bot アプリを配置するデータセンターロケーションを選択します。ここでは Japan East (東日本) を選択しています



  • 価格レベル


    • 開発や検証では F0 (無償版) で充分です



  • アプリ名 (※自動入力)


    • 基本的にボット名と同じ名前が自動入力されますが、こちらも azurewebsites.net で一意となる必要があるため、適時修整してください



  • ボットテンプレート


    • クリックして、ボットテンプレート ペインを開き、今回は以下を選択します



      • SDK バージョン : SDK v4


      • SDK 言語 : C# or Node.js (お好みの方を選択)

      • テンプレート : EchoBot




    • [作成] をクリックして テンプレートの選択を確定します



  • App Service プラン


    • これまでに Azure App Service を作成している場合はそちらが自動設定されている場合があります。そのまま利用する or 新規作成を行ってください



  • Azure Storage


    • Bot の状態 (ステート) やログを保存するストレージを設定します。新規作成 or 既存のストレージを選択します



  • Application Insights


    • アプリの稼働ログを取得するサービスです。お好みですが、ここではデフォルトのまま オン になっています。



  • Application Insights の場所


    • Application Insights をオンにした場合に表示されます。ここでは Japan East (東日本) を選択しています。



  • Microsoft アプリ ID とパスワード


    • デフォルトのまま アプリIDとパスワードの自動作成 で OK です



Web アプリボット ペイン の一番下にある [作成] をクリックするとアプリが作成されます。

アプリの作成(デプロイ)が成功した旨のメッセージが表示されたら、[リソースに移動] をクリックして作成した Web アプリボット を表示します。

20190308_04.PNG


App Service プランを新規作成した場合、プランが S1 の有償プランになっています。[すべての App Service 設定] > [スケールアップ] をクリックして 無償プラン(F1) に変更しておくと良いでしょう。

20190308_06.PNG


作成した Web アプリ ボット ペインのメニューから Web チャットでテスト をクリックします。チャット画面が表示されるので、メッセージを入力すると、オウム返し (Echo) でメッセージが返答されれば Web アプリボットは正常に作成されています。

20190308_07.PNG


1.2 LINE Developer Console で Messaging API を作成する

ブラウザーで LINE Developer ページ (https://developers.line.biz/ja/) を開きます。Messaging API をクリックして Messaging API ページを開きます。

20190308_08.PNG

Messaging API ページで [今すぐ始めよう] をクリックして作成に進みます。

20190308_09.PNG

ログイン画面が表示されたら LINE アカウントでログイン をクリックしてアカウント情報を入力してログインします。

20190308_10.PNG


新規プロバイダー & チャンネルの作成

新規チャンネル作成 ページで、新規プロバイダー作成を行います。新規プロバイダー作成 を選択し、名称を入力します。


他のサービスを作成してプロバイダーを作成済みの場合は、既存プロバイダーを選択しても構いません。


20190308_11.PNG

新規チャネル作成 ページで続けて新規チャネルを作成します。 Bot アプリの名称や説明を入力します。任意でアイコンの設定も行います。

大業種&小業種に合うものを選択し、メールアドレス に管理者メールアドレスを入力します。(LINE アカウントと同じでOK)

[入力内容を確認する] をクリックして内容の確認に進みます。

20190308_12.PNG

利用情報に関する同意について、内容を核にして 同意する をクリックします。

20190308_13.PNG

ページ一番下の LINE公式アカウント利用規約LINE公式アカウント API 利用規約 の同意に ✓ (チェックマーク) をつけ、[作成] をクリックしてチャネル作成を確定します。

image.png

プロバイダーリスト ページが表示され、作成したチャネルが表示されるのを確認してください。作成したチャネルをクリックして、Azure Bot Service との連携に必要な情報の取得と設定の確認を行います。

20190308_15.PNG

基本情報 タブを表示します。

20190308_16.PNG

ページをスクロールして、Channel Secret に表示される文字列をコピーしてローカルに保存しておきます。

合わせて 利用可能な機能PUSH_MESSAGE が表示されているのを確認してください。

20190308_17.PNG

さらにページをスクロールして メッセージ送受信設定 を表示します。

アクセストークン(ロングターム) の欄にある [再発行] をクリックしてアクセストークンを発行します。

20190308_18.PNG

再発行までの時間は 0 時間を設定してトークンを発行します。

20190308_19.PNG

表示されるアクセストークンをローカルに保存しておきます。再度このページで設定を行うので、ブラウザーを閉じないでおきます。


1.3. LINE Messaging API と Azure Bot Service アプリを接続する


Azure Portal から Web App Bot に LINE の接続設定を行う

Azure Portal に戻り、1.1 で作成した Web App Bot を表示します。

Web アプリ ボット ペインのメニューから チャンネル をクリックします。その他のチャンネル に表示されている LINE をクリックします。

20190308_20.PNG

LINEを構成 のページで、ローカルに保存しておいた Channel Secret (チャンネルシークレット) と チャンネルアクセストークン を貼り付けます。

また、表示されている Webhook の URL をコピーしてローカルに保存しておきます。

20190308_20_02.PNG

[保存] をクリックして、Web App Bot 側の設定を保存します。


LINE Developer ページから Azure Web App Bot への接続設定を行う

再び LINE Developer ページを開き、作成した Message API のチャネルを開きます。

基本情報 タブ内にある メッセージ送受信設定 を再度表示します。

Webhook URL の欄にある [編集] をクリックして、Azure Portal から取得しておいた Webhook URL を貼り付け、[更新] をクリックして保存します。

20190308_22.PNG

[接続確認] が表示されたらクリックし、✓ 成功しました と表示されるのを確認してください。

20190308_23.PNG

Webhook 送信 の欄にある [編集] をクリックして、利用する を選択して [更新] をクリックして有効化します。

20190308_21.PNG

さらにページをスクロールして LINE@機能の利用 を表示します。

自動応答メッセージ の欄にある [設定はこちら] をクリックして設定ページを表示します。(LINEアプリからの本人認証が必要な場合があります。)

image.png

別のページが開くので、応答設定応答メッセージオフ に変更します。(ボットが応答するのでココで自動応答しなくて良いですよね...)

image.png


友だち追加時あいさつ はお好みで編集してください。

編集する場合は、 チャネル基本設定友達追加時あいさつ設定はこちら をクリックして設定ページを表示します。(LINEアプリからの本人認証が必要な場合があります。)

応答設定あいさつメッセージ[あいさつメッセージ設定] をクリックします。

image.png

テキストを修正して、[保存を保存] をクリックして内容を保存します。

image.png



LINE アプリからの接続テスト

LINE アプリから LINE Developer ページに表示されている QR コードを読み取り、追加します。

20190308_26.PNG

友だち追加メッセージが表示されたら、入力してみます。ひとまず入力した内容がそのままオウム返し (Echo) で返答されれば、接続テストは完了です。

20190308_27.PNG


LINE からの接続がうまくいかないときのトラブルシュート

1. 何も返答が返ってこない場合

- LINE Developers ページでの設定

Webhook送信: 「利用する」設定したはずなのに「利用しない」にリセットされている場合がありますので、再度確認してください

- Azure Web Bot がスタンバイ状態

しばらく Bot へのアクセスが無い場合、F0(無償プラン) だとスタンバイ状態になっていて、LINE からの接続がタイムアウトになる場合があります。Webチャット で動作を再度確認してから LINE アプリで確認してください

2. "Something went wrong" と表示される場合

Azure Web App 側での動作が失敗しているときに表示されるメッセージです。Azure Web App の動作確認を行ってください



Next Step