Microsoft Bot FrameworkでSkypeのエコーボットを作成する手順

公開日:2018/09/15 更新日:2018/09/15
Microsoft Bot FrameworkでSkypeのエコーボットを作成する手順のサムネイル

はじめに

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

できるようになること

以下のように、Skype用に自分の発言をそのまま返すエコーボットを作成します。後は応用で色々なボットの作成が可能になると思います。

skypebot.gif

環境と前提

今回作成するエコーボットですが、作成に必要な作業自体はすべてMicrosoft Azure上で行うためWebブラウザ上での作業で完結します。以降では動作確認のためにWindows10のSkypeアプリを使用しました。以降の手順で前提となる環境については以下の通りになります。

  • 必要なものはパソコン1台。OSは問わない。
  • Microsoftアカウントは取得済とする。

Microsoft Bot Framework (Microsoft Azure)にログインする

ブラウザからのMicrosoft Bot Frameworkの公式ページから自身のMicrosoftアカウントを使ってログインします。なお、Microsoft Bot FrameworkはMicrosoft Azure上の一つのサービスなので、以降の手順を進めるとわかりますが、Microsoft Azureに移動して作業することになります。

dev.botframework.com

Build a great conversationalist.

初回ログイン時には、以下のように規約に同意するか聞かれるため、内容を確認した上でチェックボックスにチェックを入れて「Save」をクリックします。

1-loginned-1024x523.png

ログイン後、トップページが改めて表示されるため、以下のように「My bots」をクリックします。 2-firstpage-1024x561.png

Microsoft Bot Frameworkでボットを作成したことがない場合は、以下のようにボットがない旨が表示されますので「Create」をクリックします。 3-createbot-1024x676.png

「Create」をクリックすると、ブラウザの別タブが開き、Microsoft Azureのダッシュボードが開きます。なお、Microsoft Azureへのログインが初めての場合は、以下のようにAzure Advisorという色々なサービスの利用状況やかかっているコスト状況などを解析、改善案の提案などをしてくれるサービスの紹介が表示されます。これはまた後ほど確認できるので、ここでは右上の✕印をクリックして閉じます。 4-first-login-azure-1024x639.png

続いて、ダッシュボード上に「Web App ボット」という項目があるのでこれをクリックします。もしダッシュボードに「Web App ボット」が見当たらなくても、画面上部にある検索バーに「bot」と入力することで検索できます。 5-click-webappbot-1024x370.png

クリックすると以下のように右側に内容が展開されますので、「作成」をクリックします。 6-create-bot-1024x576.png

「作成」をクリックすると、以下のように新規作成するボットに関する情報の入力を求められます。 4-settings-webappbot-857x1024.png

ここでの入力項目の内容は以下です。

ボット名 任意のボット名。ユニークである必要があるため、すでに使われているボット名が存在する場合はThe requested bot name is not availableと表示されます。
サブスクリプション ここでは無料枠で使用するためFree Trial
リソースグループ リソースを新規作成した場合は「新規作成」
場所 サーバーの場所を指定。特になければJapanのいずれかでOK
アプリ名 ボット名+適当な文字列で自動生成されます。変更も可能です。
ボットテンプレート ボット開発に使用するSDK言語(C#もしくはNode.jsを選択可)を選択。また、作成するボットの機能も選択。詳しくは後述。
App Serviceプラン/場所 はじめの作成の場合は新規作成。デフォルトのままでOK

ボットテンプレートについては、ここでは以下のように「Node.js」と「Basic」を選択します。 5-chose-bot-template-1024x947.png

入力後、最後に「作成」をクリックすると、ダッシュボードに戻ります。以下のように通知を開いてみると、以下のように「デプロイ中」とメッセージが表示されているので、完了するまでしばらく待機します。 6-deploying-1024x362.png

完了すると、通知に「展開が成功しました」と表示されます。「リソースに移動」をクリックします。 7-completed-deploying-1024x339.png

以下のように作成したボットのダッシュボードに移動します。 8-mybot-dashboard-1024x640.png

以下のように、「Webチャットでテスト」をクリックすると、作成したボットをテストすることができます。上記の手順の中で、ボットテンプレートで「Basic」を選択した場合は、以下のように「test」と送れば「You said test」と返すエコーボットが動作することがわかります。 9-webchattest-1024x472.png

このようにボットが作成され動作することを確認できたので、実際にSkypeアプリでこのボットを自身の連絡先に追加して動作確認を行ってみます。

作成したボットをSkypeに対応させる

Microsoft Bot Frameworkでは、作成したボットをWebサイトやSkype、Slackなどに対応させることができます。Microsoft Bot Frameworkでは対応させるアプリを追加することを「チャンネルを追加する」と呼んでいます。すなわち作成したボットをSkypeアプリで動作させるようにするためには、Skypeをチャンネルに追加する必要があります。具体的には、作成したボットのダッシュボードから「チャンネル」という項目があるのでこれをクリックし、さらにSkypeアイコンをクリックします。

10-addchannel-1024x507.png

するとSkypeに関していくつかの情報の入力を求められるので、適当に入力し保存をクリックします。重要な設定としては、以下のように「メッセージング」タブで「メッセージングを有効にする」にチェックを入れます。これによりボットがユーザからのメッセージを受信できるようになります。 12-settings-messaging1-1024x662.png

また、ボットをグループに追加できるようにしたい場合は、以下のように「グループ」タブで「グループへの追加を有効にする」にチェックを入れます。他に「公開」タブでは作成したボットを一般公開する場合の設定を入力できますが、ここではあくまでプライベートの利用に限るため、これで「保存」をクリックします。 14-add-to-group-1024x876.png

「保存」をクリックするとダッシュボード戻ります。ここで再度「チャンネル」を開くと以下のように追加済のチャンネル一覧が表示され、Skypeが入っていることがわかります。ここでSkypeアイコンをクリックします。 15-channel-1024x409.png

Skypeのアイコンクリックすると、ブラウザの別タブで以下のような画面が開きます。ここで「Add to Contacts」をクリックすれば、Skypeの連絡先に追加したボットが追加されます。 16-mybot-1024x817.png

なお、追加すると以下のようにSkype開くか出るので必要に応じてOKします。 17-openskypeapp.png

実際にSkypeアプリで動作確認する

以下はWindows10のSkypeアプリですが、実際に自身のアカウントでログインしているSkypeアプリを開き、以下のように+マークをクリックし、ここから「新しいボットを追加」をクリックします。

19-add-bot.png

以下のように作成したボット名を検索すると、「Skypeの連絡先」という項目の中に作成したボット名が表示されるのでこれをクリックして追加します。なお、「パブリック ディレクトリ」と表示されている中のボットは一般公開されている他の方が作成したボットなので注意してください。 20-chose-yourbot.png

最後に、 連絡先に追加したボットに適当なメッセージを投稿すると、上記のWebチャットでテストした場合と同様の応答をすることを確認できます。 18-check-activity-1024x416.png

まとめ

Skypeのエコーボットを手始めに作成し動作確認までを行いました。後は、このボットのコードを修正しての望みの動作をするボットを作成していくことができます。色々な応用した動作を行うボットをまた今度まとめます。

関連記事

開発アプリ

nanolog.app

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