2017-03-27 5 views
7

私はMicrosoft Botフレームワークで新しくなりました。今すぐエミュレータで自分のコードをテストしています。私は接続するとすぐにHelloメッセージを送信したいと思います。以下は私のコードです。Microsoft Botフレームワーク:接続時のメッセージを送信

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

var server = restify.createServer(); 
server.listen(process.env.port || process.env.PORT || 3978, function() { 
    console.log('%s listening to %s', server.name, server.url); 
}); 

var connector = new builder.ChatConnector({ 
    appId: "-- APP ID --", 
    appPassword: "-- APP PASS --" 
}); 
var bot = new builder.UniversalBot(connector); 
server.post('/api/message/',connector.listen()); 

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

上記のコードは、ユーザーが会話を開始すると、Helloメッセージを送信します。ユーザーが接続するとすぐにこのメッセージを送信したいと思います。

答えて

13

イベントにフックして、ボットが追加されたときにチェックします。その後、メッセージを投稿するか、新しいダイアログを開始することができます(ContosoFlowers Node.js sampleから抜粋したコードのように、同じことを行うothersがたくさんあります)。

// Send welcome when conversation with bot is started, by initiating the root dialog 
bot.on('conversationUpdate', function (message) { 
    if (message.membersAdded) { 
     message.membersAdded.forEach(function (identity) { 
      if (identity.id === message.address.bot.id) { 
       bot.beginDialog(message.address, '/'); 
      } 
     }); 
    } 
}); 
+0

ありがとうございました...まさに私が探していたものです。 –

+0

ボットに接続しているすべてのユーザーのリストをもう1つ取得できますか? –

+0

私は何かを認識していません。手動で行う必要があります。ボットとの会話を開始したユーザーを保存します。 –

関連する問題