Microsoft Bot Frameworkでコマンドでボットとやり取りできるDirect Lineチャンネルを使う手順

公開日:2018/09/18 更新日:2018/09/18
Microsoft Bot Frameworkでコマンドでボットとやり取りできるDirect Lineチャンネルを使う手順のサムネイル

はじめに

Microsoft Bot Frameworkでは、Skypeはもちろん、FacebookやSlackともやり取りできるボットを作成することができます。そしてその他にDirect Lineというチャンネルが用意されており、これを使うとターミナルやpowershellなどのコマンドラインからボットとやり取りすることができます。ここでは、Microsoft Bot FrameowrkのDirect Lineを実際に使ってコマンドからボットと通信する手順をメモします。

できるようになること

以下のGIF画像のように、コマンドラインを通して作成したボットとやり取りすることができます。なお、以下のGIF画像で動作しているボットは、ユーザの投稿内容と同じ内容を返すエコーボットです。

directline.gif

また、今回関係する要素と構成のイメージ図は以下になります。自分のパソコン(図1中Laptop)から、Direct LineというMicrosot Bot Frameworkで作成したボットのチャンネルを使用して、作成したMicrosot Bot Framework上のボット(図1中 Echo bot)にメッセージを送信します。すると、Echo botがLaptopから送ったメッセージと同じ内容のメッセージを返してくれます。

directline-bot.png

図1 Microsoft Bot Framework イメージ図

前提と環境

以降の作業は、以下の環境、前提になります。

  • Microsoft Azure上でEcho bot (エコーボット)作成済。詳しくは以下
  • www.virment.com

    Skype用のボットを作成する場合、Microsoft Bot Frameworkを使います。まず手始めとして自分の発言をそのまま返すEchoボット(エコーボット、オウム返しボット)をSkype用に作成したのでその手順をメモします。

  • Direct Lineを使ってEcho botとやり取りする端末(図1中のLaptop)のOSはWindows10。Windows10+Vagrant+Ubuntu16.04
  • Vagrant上のUbuntu16.04ではNode.jsとnpmが使用できる環境構築済

手順概要

まずはじめに、Microsoft Bot Framework上で作成したボットに、「Direct Line」という名前のチャンネルを追加します。Microsoft Bot Frameworkでは、対応させるアプリのことをチャンネルと呼んでおり、「Direct Line」はターミナルや端末、powershell等のコマンドラインインターフェースに対応するためのチャンネルです。Microsoft Bot Frameworkで「Direct Line」を追加すると、シークレットキーが発行されるのでこれを使用します。 そしてVagrant上のUbuntu16.04から、 Microsoft Bot Framework上のボットとやり取りするためのコード(Node.jsで記述)を実行します。発行した「Direct Line」のシークレットキーはこのNode.jsのコード内で使用します。

Direct Lineチャンネルを追加する

Microsoft Azure上での作業になります。 Microsoft Azureにログインし、自身の「Web App bot」のダッシュボードに行きます。そしてメニューの中から「チャンネル」をクリックすると、以下のように地球のマークの「Direct Lineチャンネルを構成」というアイコンボタンがあるのでこれをクリックします。

1-click-directline-channel-1024x658.png

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。