Azure Teams bot 未向添加的用户发送欢迎消息。在网络聊天上工作正常

时间:2021-07-21 05:24:31

标签: azure botframework chatbot microsoft-teams azure-bot-service

我的流量 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!!"
            )

1 个答案:

答案 0 :(得分:1)

<块引用>

这个 OnMembersAdded Activity 应该在添加成员时触发 不是在发送第一条消息之后。

该团队有一个名为 "OnTeamsMembersAddedAsync" 的特定活动处理程序,这将支持您在 MS Teams 中的要求。我认为 onMembersAddedAsync 在网络聊天、模拟器等中有效,但在团队中无效。

参考:

  1. Teams Activity Handlers
  2. Python TeamsActivityHandler