我的流量 1-在python中创建了Azure bot。(专注于成员添加的活动和仅发送消息活动) 2- 在 azure 上部署了 Bot,并使用我想要这些活动响应的 api url 更改了 bot 的消息传递端点
3- 在机器人频道中添加了团队。
4- 将机器人 URL 分享给团队客户端。
问题 -> 如果我在“网络聊天测试”中运行这个机器人,它工作正常。我的意思是它会自动为我提供 OnMembersAdded 活动响应。
但是如果客户端将此机器人添加到团队,那么我不会自动获得 OnMembersAdded 活动响应。客户端必须发送他的第一条消息。如果他在我收到此活动后发送消息。
将客户端添加到团队-> 无响应。 客户端发送他的第一条消息 -> 获取 OnMembersAdded 活动响应 + OnMessage 活动响应
此 OnMembersAdded Activity 应在发送第一条消息后未添加成员时触发。
还尝试了“on_teams_members_ added”活动,但根本没有向 Teams 发送欢迎消息。
async def on_teams_members_added( # pylint: disable=unused-argument
self,
teams_members_added: [TeamsChannelAccount],
team_info: TeamInfo,
turn_context: TurnContext,
):
for member in teams_members_added:
if member.id != turn_context.activity.recipient.id:
await turn_context.send_activity(
f"Welcome!!"
)
答案 0 :(得分:1)
这个 OnMembersAdded Activity 应该在添加成员时触发 不是在发送第一条消息之后。
该团队有一个名为 "OnTeamsMembersAddedAsync" 的特定活动处理程序,这将支持您在 MS Teams 中的要求。我认为 onMembersAddedAsync 在网络聊天、模拟器等中有效,但在团队中无效。
参考: