You need to enable JavaScript to run this app. OnMembersAddedAsync中使用member.Id != turnContext.Activity.Recipient.Id的作用是什么?
优惠活动
大模型
产品
解决方案
定价
更多

OnMembersAddedAsync中使用member.Id != turnContext.Activity.Recipient.Id的作用是什么?

注释含义说明

你看到的这句注释对应代码里的Bot自身排除逻辑:
Azure Bot Framework 中,有新成员加入会话时就会触发OnMembersAddedAsync回调,而Bot本身被加入会话的时候也会触发这个事件。其中turnContext.Activity.Recipient.Id就是当前事件的接收方ID,也就是Bot自己的ID,所以member.Id != turnContext.Activity.Recipient.Id这个判断的作用就是:新加入的成员不是Bot本身的时候,才走发送欢迎消息的逻辑,刚好对应注释里说的「给所有不是本次消息接收目标的人发问候」。

欢迎消息的发送范围

欢迎消息只会发给本次新加入会话的用户,不会推送给会话里的原有成员。
代码里遍历的membersAdded列表仅包含本次事件触发时刚加入会话的成员,不会覆盖之前就在会话里的老用户。
另外注意代码开头的判断逻辑:如果用户是通过webchat、directline渠道接入的,会直接跳过这套欢迎逻辑,不会发欢迎消息。

内容的提问来源于stack exchange,提问作者Yiping

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 13:51:02