Microsoft Bot Frameworkを試してみた(Part1)

今年もBuildで面白そうな機能が発表されました。
・・・サンフランシスコ、行きたかった・・・。

今回は気になった機能のなかから、手軽に試せそうなBotFramworkを試してみました。

1.BotFrameworkとは
Botを簡単に作れるFramework(※2016/04/03現在 Preview)。
Skypeやメール,Slackなどと簡単に連携&Azure上で動くのでCortanaなどのCoolな機能と簡単に連携することでCoolなBotが作れる。かっこいいね!(超意訳)
公式ページはこちら

2.BotFrameworkを使って、Botを作成。
今回はC#のテンプレートを使って、さくっと作ってみました。
手順はこのページの方法に従い進めます。
(1)テンプレートダウンロード&配置
(2)C#のプロジェクトからBotApplicationのテンプレートを選択して作成。
(3)メッセージを投げた人に応答メッセージをカスタマイズ
※場所はMessagesController.csのPostメソッド
※message.ParticipantsでBot自身+Bot参加者(接続している人間?)の一覧?が取れる見たい。
※今回は1人しか参加していないのでBotじゃない最初の参加者=コメントを投げた人になる。

public async Task<Message> Post([FromBody]Message message)
{
	if (message.Type == "Message")
	{
		var participantsData = message.Participants;
		var userName = "";
		foreach( var userData in participantsData)
		{
			if( userData.IsBot == false )
			{
				userName = userData.Name;
				break;
			}
		}

		// create a reply message	
		StringBuilder replyMessageText = new StringBuilder();
		replyMessageText.Append("こんにちは、");
		replyMessageText.Append(userName);
		replyMessageText.Append("さん。");
		replyMessageText.Append("今日はいい天気ですね。");
		Message replyMessage = message.CreateReplyMessage(replyMessageText.ToString(), "ja");
		replyMessage.Language = "ja";

		// return our reply to the user
		return replyMessage;
	}
	else
	{
		return HandleSystemMessage(message);
	}
}

3.Botの動作確認(ローカル)
(1)2で紹介したページからエミュレータがダウンロードできるので、ダウンロード&インストール&起動。
(2)VisualStudioのプロジェクトでデバッグ(F5押下)開始。
(3)ブラウザが起動するので”表示されたURL+/api/messages”をエミュレータのURLに入力
(4)メッセージを投稿

BotEmulator

すると無事レスポンスが返ってきます。

簡単ですね。

Azureでの動作確認は次回へ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です