2017-03-27 31 views
7

Microsoft Bot framework ile yeni yapıyorum. Şu anda Emulator'de kodumu test ediyorum. Bağlantınız en kısa sürede Hello mesajı göndermek istiyorum. Aşağıda benim kodum. Kullanıcı üzerinde bir konuşma başlattığında, kodun üstünde Merhaba mesajı gönderilir. Microsoft Bot çerçevesi: Bağlantıda ileti gönderme

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'); 
}); 
Bu mesajı, kullanıcı bağlanır göndermez göndermek istiyorum.

cevap

13

conversationUpdate etkinliğine girip bot eklendiğini kontrol edin. Bundan sonra, sadece bir ileti gönderebilir veya yeni bir iletişim kutusu başlatabilirsiniz ('dan ayıkladığım kodda olduğu gibi, birçok others aynı şeyi yapıyor).

// 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

Teşekkürler ... Tam olarak aradığım şey. –

+0

Sadece bir şey daha bot ile bağlantılı tüm kullanıcıların listesini alabilir miyim? –

+0

Mmmm Bunu yapacak bir şeyin farkında değilim. Bunu el ile yapmalı ve botla konuşmaya başlayan kullanıcıları sakla. –