Microsoft Bot Frameworkでコマンドでボットとやり取りできるDirect Lineチャンネルを使う手順
はじめに
Microsoft Bot Frameworkでは、Skypeはもちろん、FacebookやSlackともやり取りできるボットを作成することができます。そしてその他にDirect Lineというチャンネルが用意されており、これを使うとターミナルやpowershellなどのコマンドラインからボットとやり取りすることができます。ここでは、Microsoft Bot FrameowrkのDirect Lineを実際に使ってコマンドからボットと通信する手順をメモします。
できるようになること
以下のGIF画像のように、コマンドラインを通して作成したボットとやり取りすることができます。なお、以下のGIF画像で動作しているボットは、ユーザの投稿内容と同じ内容を返すエコーボットです。
また、今回関係する要素と構成のイメージ図は以下になります。自分のパソコン(図1中Laptop)から、Direct LineというMicrosot Bot Frameworkで作成したボットのチャンネルを使用して、作成したMicrosot Bot Framework上のボット(図1中 Echo bot)にメッセージを送信します。すると、Echo botがLaptopから送ったメッセージと同じ内容のメッセージを返してくれます。
図1 Microsoft Bot Framework イメージ図
前提と環境
以降の作業は、以下の環境、前提になります。
- Microsoft Azure上でEcho bot (エコーボット)作成済。詳しくは以下
- Direct Lineを使ってEcho botとやり取りする端末(図1中のLaptop)のOSはWindows10。Windows10+Vagrant+Ubuntu16.04
- Vagrant上のUbuntu16.04ではNode.jsとnpmが使用できる環境構築済
Skype用のボットを作成する場合、Microsoft Bot Frameworkを使います。まず手始めとして自分の発言をそのまま返すEchoボット(エコーボット、オウム返しボット)をSkype用に作成したのでその手順をメモします。
手順概要
まずはじめに、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チャンネルを構成」というアイコンボタンがあるのでこれをクリックします。
関連記事
- 公開日:2019/12/19 更新日:2019/12/19
コードなしでボットを作成できるフレームワークBotfront
Botfrontは、GUIのエディタでボットに発言させたい内容やユーザのメッセージに対してどのような応答を返すかを編集してボットを作成できるフレームワークです。また、作成したボットをWebサイトやSlack上で動作させることも可能です。この記事では、Botfrontをインストールしてボットを作成するまでをまとめます。
- 公開日:2019/08/07 更新日:2019/08/07
Hubotを使ってSlackに投稿されたメッセージに応答してシェルスクリプトを実行させる
HubotをSlack上で常駐させることで色々なことができます。ここでは、Hubotをインストールして実際にSlack上に常駐させ、メッセージに応答してHubotが動作するパソコン上でシェルスクリプトを実行させるまでの手順をメモします。
- 公開日:2018/10/31 更新日:2018/10/31
LINEのLIFFアプリを登録する手順と簡単な実例
LIFF(LINE Front-end Framework)はLINEのトークルーム上でWebアプリを呼び出してLINEと連携して動作するアプリのプラットフォームです。ここでは、このLIFFアプリを登録して実際に動作させるまでの手順をメモします。
- 公開日:2018/10/08 更新日:2018/10/08
ユーザの投稿メッセージに応答するSkypeボットをGoogle Apps Scriptで作成する手順
Skypeにてユーザからボットのへの投稿メッセージに応じて適当なメッセージを送り返すボットをGoogle Apps Scriptで作成します。ここではあらかじめ決めたメッセージを返すだけですが、この記事での内容を元に色々な応用に使えると思います。
- 公開日:2018/10/05 更新日:2018/10/05
Skypeにメッセージを投稿するSkypeボットをGoogle Apps Scriptで作成する手順
なユーザの投稿に応答する形ではなく、ボットが主体となって投稿するメッセージをプロアクティブメッセージと呼びます。この記事では、プロアクティブメッセージを任意のSkypeチャットに送信するSkypeボットをGoogle Apps Scriptで作成します。