読者です 読者をやめる 読者になる 読者になる

1.21 jigowatts

Great Scott!

Bot FrameworkとC#でボット作成に挑戦!

C#

概要

Build 2016で発表のあったBot開発用フレームワークBot Frameworkが気になっていたので触ってみました。

環境

Visual Studio 2015

準備

プロジェクトテンプレートのインストール

ここからBot Application.zipをダウンロードし、zipのままC#のプロジェクトテンプレートフォルダに格納します。
Visual Studio2015をデフォルトでインストールしているのであれば以下でOK。

C:\Users\[ユーザー名]\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C# 

f:id:sh_yoshida:20160503063550p:plain

Bot Framework Emulatorのインストール

ここからsetup.exeをダウンロードして実行することでインストールされました。
エミュレーターのプロパティを見るとClickOnce アプリケーション リファレンスとなっており、実態は私の環境ではC:\Users\[ユーザー名]\AppData\Local\Apps\2.0以下にありました。
f:id:sh_yoshida:20160503003729p:plain

Botアプリの作成と実行

Visual Studio2015を立ち上げ、プロジェクトの新規作成で、[インストール済み]-[テンプレート]-[Visual C#]とたどるとBot Applicationのテンプレートがあるので選択します。
f:id:sh_yoshida:20160503003649p:plain

テンプレートのプログラムは受け取ったメッセージの文字数を返すようになっています。
MessagesController.cs

if (message.Type == "Message")
{
    // calculate something for us to return
    int length = (message.Text ?? string.Empty).Length;

    // return our reply to the user
    return message.CreateReplyMessage($"You sent {length} characters");
}
else
{
    return HandleSystemMessage(message);
}

テンプレートのままでビルドして実行してみます。
これでローカル環境のWebサーバでボットが稼動した状態となるようです。
f:id:sh_yoshida:20160503003940p:plain

さきほどインストールしたエミュレータにメッセージを入力してみると、入力文字列の文字数がちゃんと返ってきました。
f:id:sh_yoshida:20160503004138p:plain

ひとまずローカル環境での動作確認ができましたヾ(*`∀`*)ノ
次回はSlackと連携してみます!