当前位置: 首页 > 面试题库 >

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

姚智
2023-03-14
问题内容

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


问题答案:

钩住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, '/');
            }
        });
    }
});


 类似资料:
  • 我使用Directline api进行网络聊天。 生成令牌后,连同标头中的令牌和正文中的活动对象,我请求发送到此url: https://directline.botframework.com/v3/directline/conversations/{conversationID}/活动 我得到404页未找到响应: 这是我的活动对象: {类型:消息,文本:测试Directline API,对话:{

  • 我在询问之前搜索了这个问题,但我找不到类似的东西。我开发了一个客户端/服务器解决方案来发送/接收HL7消息。我使用套接字将客户端连接到服务器,从这个连接中,我只能使用OutputSteam对象发送1条HL7消息。我如何在同一个套接字连接中发送多个HL7?我尝试了不同的方法,但它们不能正常工作。 以下是我的客户端代码: 从服务器端 如何在同一套接字连接中发送更多HL7消息?

  • 我有多个使用Spring Boot WebSocket的实例(根据Spring指南的前半部分创建)。我需要它们连接到特定主机名和端口的其他实例,并能够使用STOMP协议通过websocket连接发送消息。 没有回答我问题的事情: 我读过Spring:send message to websocket client和send message to Spring websocket上的特定用户,但这些

  • 我很难让我的机器人发送Twilio消息。我一直收到400个错误的请求,我在这里把msg对象看作JSON——我想我为Twilio创建地址的方式有问题吧?我也已经通过并在管理工具中设置了Twilio频道 SMS=={“数据”:{“类型”:“消息”,“代理”:“botbuilder”,“文本”:“测试消息”,“地址”:{“频道id”:“SMS”,“对话”:{“id”:“4I4HLAND06HA5G3”,

  • 在网页应用中,你经常需要在处理完表单或其它类型的用户输入后,显示一个通知消息(也叫做“flash message”)给用户。 对于这个功能,Django 提供基于Cookie 和会话的消息,无论是匿名用户还是认证的用户。其消息框架允许你临时将消息存储在请求中,并在接下来的请求(通常就是下一个请求)中提取它们并显示。每个消息都带有一个特定level 标签,表示其优先级(例如info、warning

  • 如果我不关闭套接字: 客户端没有输出。服务器从不发送消息,或者客户端从不接收消息。 有人知道发生这种情况的可能原因吗?客户端使用一个线程接收消息,一个线程发送消息。客户端套接字在主客户端线程中创建,因此接收者和发送者线程使用当前套接字进行通信。 提前谢了。