Botframework 理解活动的名称

Botframework 理解活动的名称,botframework,direct-line-botframework,Botframework,Direct Line Botframework,我有一个聊天机器人,它试图模仿反向通道的例子 一切基本上都是正确的,只是我很难理解下面的代码到底应该如何工作 botConnection.activity$ .filter(function (activity) { console.log("show me the activity name passed" + activity.name); return activity.type === 'event' && activity.name

我有一个聊天机器人,它试图模仿反向通道的例子

一切基本上都是正确的,只是我很难理解下面的代码到底应该如何工作

  botConnection.activity$
    .filter(function (activity) {
      console.log("show me the activity name passed" + activity.name);
      return activity.type === 'event' && activity.name === 'changeBackground';
    })
    .subscribe(function (activity) {
      changeBackgroundColor(activity.value);
    });
我假设我需要在我的机器人中命名一些东西,也许是changeBackground?activity.type不应该是“消息”而不是“事件”吗


当我执行console.log以显示activity.name时,我传递的每条消息都是“未定义的”。我应该在哪里设置活动的名称,以便启动更改背景?

一个
活动
是一个通用信封,其中
消息
(用户和机器人之间发送的文本和/或附件)是最常见的类型。如果您希望客户端和bot以不可见的方式向用户交换信息,则可以使用
事件
类型。按照惯例,它们将被客户机忽略,例如

按照编写方式,示例代码记录从bot发送到客户端的每个活动。字段
名称
适用于
事件
类型的活动,但不适用于
消息
,这就是为什么它显示为
未定义

在本例中,
changeBackground
是一个客户端函数的名称,每当bot发送类型为
event
的活动时,该函数都会执行某些操作

您现在缺少的是(服务器)bot代码,它实际发送该事件。请参见Ryan Volum's,以了解这方面的示例