Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Botframework 如何处理用户离开对话_Botframework - Fatal编程技术网

Botframework 如何处理用户离开对话

Botframework 如何处理用户离开对话,botframework,Botframework,我们有一些使用OnMembersAddedAsync方法的受欢迎示例,但没有任何示例显示如何处理用户离开对话。我试图重写OnMembersRemovedAsync,但它似乎没有被调用(至少在我使用bot framework emulator时是这样) 我需要在用户离开/离开对话时进行一些清理。 一个例子或任何提示将不胜感激 更新:我正在使用C#和Bot框架v4,这将是特定于频道的,因为它依赖于频道,该频道提供了一个功能,在用户离开对话时发送更新。任何其他渠道,你都需要研究 对于Facebook,

我们有一些使用OnMembersAddedAsync方法的受欢迎示例,但没有任何示例显示如何处理用户离开对话。我试图重写OnMembersRemovedAsync,但它似乎没有被调用(至少在我使用bot framework emulator时是这样)

我需要在用户离开/离开对话时进行一些清理。 一个例子或任何提示将不胜感激


更新:我正在使用C#和Bot框架v4,这将是特定于频道的,因为它依赖于频道,该频道提供了一个功能,在用户离开对话时发送更新。任何其他渠道,你都需要研究

对于Facebook,我无法找到一个涵盖此类行动的范围。以下是您可以更密切地参考的可用范围:

  • 信息
  • 信息传递
  • 信息回荡
  • 消息如下
  • 信息\帐户\链接
  • 信息\签出\更新(测试版)
  • 游戏中的信息传递
  • 消息传递和切换
  • 信息传递选项
  • 信息与支付(测试版)
  • 消息传递\u策略\u执行
  • 回发邮件
  • 信息预签出(测试版)
  • 消息传递和推荐
  • 待命
网络聊天作为一项功能,也不包括这一点。但是,如果这是一个网页,您可以利用
onbeforeunload()
窗口函数来分派事件。事件侦听器将利用Web聊天的存储向bot发送消息或事件。为了清楚起见,我正在通过
SEND\u MESSAGE
SEND\u EVENT
发送不同类型的数据

const store=window.WebChat.createStore({},({dispatch})=>next=>async action=>{
返回下一步(操作);
};
addEventListener('sendEventActivity',({data})=>{
仓库调度({
键入:“网络聊天/发送消息”,
有效载荷:{
文本:数据
}
} )
,
商店快件({
键入:“网络聊天/发送事件”,
有效载荷:{
名称:“用户事件”,
价值:{
名称:“结束对话”,
值:“用户结束对话”
},
text:'用户已离开对话。'
}
} )
} );
window.onbeforeunload=函数(){
const eventSendActivity=新事件('sendEventActivity');
eventSendActivity.data='User left conversation';
window.dispatchEvent(eventSendActivity);
}
{键入:“消息”,
id:'4uPdpZhlTFfBMziBE7EmEI-f | 0000004',
时间戳:2020-01-10T18:21:26.767Z,
服务URL:'https://directline.botframework.com/',
channelId:“directline”,
发件人:{id:'dl_123',姓名:'johndoe',角色:'user'},
对话:{id:'4uPdpZhlTFfBMziBE7EmEI-f'},
收件人:{id:'botberg@QaeuoeEamLg,名称:'地下城奔跑者'},
textFormat:'普通',
地点:“en US”,
文本:“用户左对话”,
渠道数据:
{clientActivityID:'15786808040797910EGWKP2KAI',
clientTimestamp:'2020-01-10T18:21:20.792Z'}
}
{type:'事件',
id:'4uPdpZhlTFfBMziBE7EmEI-f | 0000005',
时间戳:2020-01-10T18:21:26.780Z,
服务URL:'https://directline.botframework.com/',
channelId:“directline”,
发件人:{id:'dl_123',姓名:'johndoe',角色:'user'},
对话:{id:'4uPdpZhlTFfBMziBE7EmEI-f'},
收件人:{id:'botberg@QaeuoeEamLg,名称:'地下城奔跑者'},
地点:“en US”,
渠道数据:
{客户端活动ID:'157868040821H7KGFM9CYZ',
clientTimestamp:'2020-01-10T18:21:20.821Z'},
价值:
{name:'end_conversation',value:'user end conversation'},
名称:“用户\事件”
}

希望得到帮助!

这将是特定于频道的,因为它取决于频道提供的功能,该功能可在用户离开对话时发送更新。任何其他频道,您都需要研究

对于Facebook,我无法找到涵盖此类操作的范围。以下是可用范围,您可以更详细地参考:

  • 信息
  • 信息传递
  • 信息回荡
  • 消息如下
  • 信息\帐户\链接
  • 信息\签出\更新(测试版)
  • 游戏中的信息传递
  • 消息传递和切换
  • 信息传递选项
  • 信息与支付(测试版)
  • 消息传递\u策略\u执行
  • 回发邮件
  • 信息预签出(测试版)
  • 消息传递和推荐
  • 待命
网络聊天作为一项功能,也不包括此功能。但是,如果这是一个网页,您可以使用
onbeforeunload()
窗口函数以发送事件。事件侦听器将利用Web聊天的存储向bot发送消息或事件。为清晰起见,我正在通过
SEND_message
SEND_event
发送不同类型的数据

const store=window.WebChat.createStore({},({dispatch})=>next=>async action=>{
返回下一步(操作);
};
addEventListener('sendEventActivity',({data})=>{
仓库调度({
键入:“网络聊天/发送消息”,
有效载荷:{
文本:数据
}
} )
,
商店快件({
键入:“网络聊天/发送事件”,
有效载荷:{
名称:“用户事件”,
价值:{
名称:“结束对话”,
值:“用户结束对话”
},
text:'用户已离开对话。'
}
} )
} );
window.onbeforeunload=函数(){
const eventSendActivity=新事件('sendEventActivity');
eventSendActivity.data='User left conversation';
window.dispatchEvent(eventSendActivity);
}
{键入:“消息”,
id:'4uPdpZhlTFfBMziBE7EmEI-f | 0000004',
时间戳:2020-01-10T18:21:26.767Z,
服务URL:'https://directline.botframework.com/',
channelId:“directline”,
发件人:{id:'dl_123',姓名:'johndoe',角色:'user'},
对话:{id:'4uPdpZhlTFfBMziBE7EmEI-f'},
收件人:{id:'botberg@QaeuoeEamLg,名称:'地下城奔跑者'},
textFormat:'普通',
地点:“en US”,
文本:'用户le