Microsoft Bot FrameworkでSkypeのエコーボットを作成する手順
はじめに
Skype用のボットを作成する場合、Microsoft Bot Frameworkを使います。まず手始めとして自分の発言をそのまま返すEchoボット(エコーボット、オウム返しボット)をSkype用に作成したのでその手順をメモします。
できるようになること
以下のように、Skype用に自分の発言をそのまま返すエコーボットを作成します。後は応用で色々なボットの作成が可能になると思います。
環境と前提
今回作成するエコーボットですが、作成に必要な作業自体はすべてMicrosoft Azure上で行うためWebブラウザ上での作業で完結します。以降では動作確認のためにWindows10のSkypeアプリを使用しました。以降の手順で前提となる環境については以下の通りになります。
- 必要なものはパソコン1台。OSは問わない。
- Microsoftアカウントは取得済とする。
Microsoft Bot Framework (Microsoft Azure)にログインする
ブラウザからのMicrosoft Bot Frameworkの公式ページから自身のMicrosoftアカウントを使ってログインします。なお、Microsoft Bot FrameworkはMicrosoft Azure上の一つのサービスなので、以降の手順を進めるとわかりますが、Microsoft Azureに移動して作業することになります。
初回ログイン時には、以下のように規約に同意するか聞かれるため、内容を確認した上でチェックボックスにチェックを入れて「Save」をクリックします。
ログイン後、トップページが改めて表示されるため、以下のように「My bots」をクリックします。
Microsoft Bot Frameworkでボットを作成したことがない場合は、以下のようにボットがない旨が表示されますので「Create」をクリックします。
「Create」をクリックすると、ブラウザの別タブが開き、Microsoft Azureのダッシュボードが開きます。なお、Microsoft Azureへのログインが初めての場合は、以下のようにAzure Advisorという色々なサービスの利用状況やかかっているコスト状況などを解析、改善案の提案などをしてくれるサービスの紹介が表示されます。これはまた後ほど確認できるので、ここでは右上の✕印をクリックして閉じます。
続いて、ダッシュボード上に「Web App ボット」という項目があるのでこれをクリックします。もしダッシュボードに「Web App ボット」が見当たらなくても、画面上部にある検索バーに「bot」と入力することで検索できます。
クリックすると以下のように右側に内容が展開されますので、「作成」をクリックします。
「作成」をクリックすると、以下のように新規作成するボットに関する情報の入力を求められます。
ここでの入力項目の内容は以下です。
ボット名 | 任意のボット名。ユニークである必要があるため、すでに使われているボット名が存在する場合はThe requested bot name is not available と表示されます。
|
---|---|
サブスクリプション | ここでは無料枠で使用するためFree Trial |
リソースグループ | リソースを新規作成した場合は「新規作成」 |
場所 | サーバーの場所を指定。特になければJapanのいずれかでOK |
アプリ名 | ボット名+適当な文字列で自動生成されます。変更も可能です。 |
ボットテンプレート | ボット開発に使用するSDK言語(C#もしくはNode.jsを選択可)を選択。また、作成するボットの機能も選択。詳しくは後述。 |
App Serviceプラン/場所 | はじめの作成の場合は新規作成。デフォルトのままでOK |
ボットテンプレートについては、ここでは以下のように「Node.js」と「Basic」を選択します。
入力後、最後に「作成」をクリックすると、ダッシュボードに戻ります。以下のように通知を開いてみると、以下のように「デプロイ中」とメッセージが表示されているので、完了するまでしばらく待機します。
完了すると、通知に「展開が成功しました」と表示されます。「リソースに移動」をクリックします。
以下のように、「Webチャットでテスト」をクリックすると、作成したボットをテストすることができます。上記の手順の中で、ボットテンプレートで「Basic」を選択した場合は、以下のように「test」と送れば「You said test」と返すエコーボットが動作することがわかります。
このようにボットが作成され動作することを確認できたので、実際にSkypeアプリでこのボットを自身の連絡先に追加して動作確認を行ってみます。
作成したボットをSkypeに対応させる
Microsoft Bot Frameworkでは、作成したボットをWebサイトやSkype、Slackなどに対応させることができます。Microsoft Bot Frameworkでは対応させるアプリを追加することを「チャンネルを追加する」と呼んでいます。すなわち作成したボットをSkypeアプリで動作させるようにするためには、Skypeをチャンネルに追加する必要があります。具体的には、作成したボットのダッシュボードから「チャンネル」という項目があるのでこれをクリックし、さらにSkypeアイコンをクリックします。するとSkypeに関していくつかの情報の入力を求められるので、適当に入力し保存をクリックします。重要な設定としては、以下のように「メッセージング」タブで「メッセージングを有効にする」にチェックを入れます。これによりボットがユーザからのメッセージを受信できるようになります。
また、ボットをグループに追加できるようにしたい場合は、以下のように「グループ」タブで「グループへの追加を有効にする」にチェックを入れます。他に「公開」タブでは作成したボットを一般公開する場合の設定を入力できますが、ここではあくまでプライベートの利用に限るため、これで「保存」をクリックします。
「保存」をクリックするとダッシュボード戻ります。ここで再度「チャンネル」を開くと以下のように追加済のチャンネル一覧が表示され、Skypeが入っていることがわかります。ここでSkypeアイコンをクリックします。
Skypeのアイコンクリックすると、ブラウザの別タブで以下のような画面が開きます。ここで「Add to Contacts」をクリックすれば、Skypeの連絡先に追加したボットが追加されます。
なお、追加すると以下のようにSkype開くか出るので必要に応じてOKします。
実際にSkypeアプリで動作確認する
以下はWindows10のSkypeアプリですが、実際に自身のアカウントでログインしているSkypeアプリを開き、以下のように+マークをクリックし、ここから「新しいボットを追加」をクリックします。以下のように作成したボット名を検索すると、「Skypeの連絡先」という項目の中に作成したボット名が表示されるのでこれをクリックして追加します。なお、「パブリック ディレクトリ」と表示されている中のボットは一般公開されている他の方が作成したボットなので注意してください。
最後に、 連絡先に追加したボットに適当なメッセージを投稿すると、上記のWebチャットでテストした場合と同様の応答をすることを確認できます。
まとめ
Skypeのエコーボットを手始めに作成し動作確認までを行いました。後は、このボットのコードを修正しての望みの動作をするボットを作成していくことができます。色々な応用した動作を行うボットをまた今度まとめます。関連記事
- 公開日: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で作成します。