检测机器人应用程序打开事件
Detect bot application open event
我正在使用 bot 框架 v3 (c#) 开发消息扩展。当我在团队中安装应用程序并在与 bot 的 1-1 聊天中打开 bot,并发送消息时,我收到了欢迎文本。
但是我希望在不向机器人发送任何消息的情况下打开/访问机器人时立即收到欢迎文本,所以我有任何方法可以实现这一点。
对于消息事件的欢迎文本,我使用 activity.GetActivityType() == ActivityTypes.Message
所以类似地,是否有任何 activity 类型来获取机器人访问事件。
如果您使用的是 C#,则您正在侦听 OnMessageActivityAsync 事件,并在其中执行检查。但是,如果您想立即发送消息,而无需用户先发送消息,您还需要连接到 OnMembersAddedAsync 事件,并先将其发送到那里。有关详细信息,请参阅 Send welcome message to users。
在 Teams 中,现在甚至还有专门针对 Teams 的修改版本。我自己还没有调查过,但请参阅 Subscribe to conversation events 了解更多信息。
与此相关,特别是如果 bot 安装到团队或群聊中,您需要在 OnMembersAddedAsync 中做一些工作来检查 -bot- 是否是正在添加的新成员,并使确保您只发送 1 条消息,而不是多条消息(否则最终可能会发送 'welcome' 几次)。这显示在我上面提供的链接中。基本上 member.Id != turnContext.Activity.Recipient.Id
可能需要根据您要执行的操作进行更改。
希望对您有所帮助
我正在使用 bot 框架 v3 (c#) 开发消息扩展。当我在团队中安装应用程序并在与 bot 的 1-1 聊天中打开 bot,并发送消息时,我收到了欢迎文本。
但是我希望在不向机器人发送任何消息的情况下打开/访问机器人时立即收到欢迎文本,所以我有任何方法可以实现这一点。
对于消息事件的欢迎文本,我使用 activity.GetActivityType() == ActivityTypes.Message
所以类似地,是否有任何 activity 类型来获取机器人访问事件。
如果您使用的是 C#,则您正在侦听 OnMessageActivityAsync 事件,并在其中执行检查。但是,如果您想立即发送消息,而无需用户先发送消息,您还需要连接到 OnMembersAddedAsync 事件,并先将其发送到那里。有关详细信息,请参阅 Send welcome message to users。
在 Teams 中,现在甚至还有专门针对 Teams 的修改版本。我自己还没有调查过,但请参阅 Subscribe to conversation events 了解更多信息。
与此相关,特别是如果 bot 安装到团队或群聊中,您需要在 OnMembersAddedAsync 中做一些工作来检查 -bot- 是否是正在添加的新成员,并使确保您只发送 1 条消息,而不是多条消息(否则最终可能会发送 'welcome' 几次)。这显示在我上面提供的链接中。基本上 member.Id != turnContext.Activity.Recipient.Id
可能需要根据您要执行的操作进行更改。
希望对您有所帮助