Node.js で Cogbot をつくる(Hello World編)


準備編から更新がかなり空いてしまいましたが、実作業に入りましょう。このフェーズでは、ローカルで Cogbot というかボットを作成して、Hello World するところまで行います。

 

VSTS のプロジェクトから開発用環境の作成

準備編で作成した VSTS のプロジェクトからローカルに開発環境を作成します。

上のほうのバーの Code をクリックします。

2017-03-30_16h25_46

 

右上の Clone をクリックします。

2017-03-30_16h51_46

 

今回は Command line を使用します。一番上のリンクの隣のコピーボタンをクリックします。

Visual Studio などの IDE を使っている場合は、一番下の IDE のプルダウンメニューを選択し、Clone in (IDE名) をクリックすることで直接 Clone 可能です。

2017-03-30_16h55_33

 

Git Bash を起動し、任意の作業フォルダに移動します。

$cd C:\temp\nodebot

$git Clone [コピ$cd C:\temp\nodebotーしたURL]

2017-03-30_17h12_19

コピーしているときの、アスキーアートがちょっとだけカッコいいです。

※クローン時に、ブラウザでの認証が入るので、 VSTS のユーザー ID / パスワードでログインします。

 

Bot Framework と HelloWorld の組み込み

コマンドプロンプトを起動し、作業フォルダに移動します。作業フォルダはプロジェクト名(今回は MyFirstProject )まで階層にはいってください。

>npm init

>npm install –save botbuilder

>npm install –save restify

 

ドキュメントにあるサンプルソース(下記)をエディタに張り付けて、server.js というファイル名で保存します。

var restify = require('restify');
var builder = require('botbuilder');

//=========================================================
// Bot Setup
//=========================================================

// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
   console.log('%s listening to %s', server.name, server.url); 
});
  
// Create chat bot
var connector = new builder.ChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD
});
var bot = new builder.UniversalBot(connector);
server.post('/api/messages', connector.listen());

//=========================================================
// Bots Dialogs
//=========================================================

bot.dialog('/', function (session) {
    session.send("Hello World");
});

 

動作確認

コマンドプロンプトで作業フォルダで下記コマンドを実行します。

>node server.js

2017-03-30_18h31_59

 

Bot Framework Emulator を起動します。

左上のアドレスバーに http://localhost:3978/api/messages と入力します。

2017-03-30_18h38_04

 

 

2017-03-30_18h39_21

 

 

参考ドキュメント

Getting Started What is Bot Builder for Node.js and why should I use it?

https://docs.botframework.com/en-us/node/builder/overview/

BotBuilder/Node/examples/

https://github.com/Microsoft/BotBuilder/tree/master/Node/examples

 

余談

VSTS のプロジェクトのリンク、前回のポストで隠してたような気もするんですが URL の表示で丸裸でした。更に言うと、VSTS のプロジェクトはプロジェクト参加者のみなので、そのままでもいいかなと少し思いました。

 

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

Comments (0)

Skip to main content