如何检测何时将机器人添加到对话和其他事件中?

How to detect when bot was added to conversation and other events?

我正在测试我使用 Bot Framework 构建的机器人。 Microsoft 创建的用于本地测试的模拟器有几个 事件 可以提供给机器人以征求响应。

我查看了为 Node.js here 提供的 GitHub 示例,但我找不到任何响应不同 事件的示例 在 Bot Framework 模拟器中。

状态是:

  1. 机器人已添加到对话
  2. 机器人已从对话中删除
  3. 用户已添加到对话
  4. 用户已从对话中删除
  5. 对话结束
  6. 删除用户数据

API 也没有明确说明如何实现这些操作。

有人知道我应该在哪里寻找示例,或者我应该使用的 API 条目吗?

为了回应其中一个答案,我确实尝试了代码 -

.onDefault(function (session) { console.log(session.message.type); }

但只有在用户发送消息时才会显示 "message"。

传入的message.type字段会有"BotAddedToConversation"等

对于 Node SDK,botConnectorBot 能够使用 on() 处理程序触发事件的自定义侦听器。

例子

var builder = require('botbuilder');
var bot = new builder.BotConnectorBot({ appId: 'APPID', appSecret: 'APPSECRET' });
bot.on('DeleteUserData', function(message) {
    // Handle Deleting User Data
});

可以找到更多信息 here

您还可以使用 configure() 方法配置一些标准消息。

例子

bot.configure({
    userWelcomeMessage: "Hello... Welcome to the group.",
    goodbyeMessage: "Goodbye..."
});

有关可通过选项配置的内容的更多信息位于 here

担忧

这不是问题的一部分,因为问题是确定如何收听这些事件。但作为一般关注,事件侦听器不 return 会话对象。处理事件后如何采取行动尚不清楚。