一尘不染

Microsoft Bot框架:在连接上发送消息

node.js

我是Microsoft Bot框架的新手。现在,我正在模拟器上测试代码。我想在您连接后立即发送Hello消息。以下是我的代码。

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消息。我想在用户连接后立即发送此消息。


阅读 217

收藏
2020-07-07

共1个答案

一尘不染

钩住conversationUpdate事件并检查何时添加了漫游器。之后,您可以发布一条消息或开始一个新对话框(如下面从ContosoFlowers
Node.js示例中
提取的代码所示,尽管还有许多其他代码在做同样的事情)。

// 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, '/');
            }
        });
    }
});
2020-07-07