Detect bot application open event

痞子三分冷 提交于 2020-02-06 07:53:25

问题


I'm working on a message extension using bot framework v3 (c#). When i install the application in teams and open the bot in 1-1 chat with bot, and send message i'm getting a welcome text. But i want the welcome text as soon as i open/ access the bot without sending any message to the bot, so i there any way to achieve this. For welcome text on message event i'm using activity.GetActivityType() == ActivityTypes.Message So similarly is there any activity type to get bot access event.


回答1:


If you're using C#, you're listening for the OnMessageActivityAsync event, and implementing your check in there. However, if you want to send the message straight away, without the user having to send one first, you need to also hook into the OnMembersAddedAsync event, and send it there first. For more info, see Send welcome message to users.

In Teams, there's even a modified version of this now, specifically for Teams. I haven't looked into yet myself, but see Subscribe to conversation events for more.

Related to this, especially if the bot is installed into a Team or group chat, you need to do a bit of work in the OnMembersAddedAsync to check if the -bot- is the new member being added, and to make sure you only send 1 message, not multiple (otherwise it can end up sending this 'welcome' a few times). This is shown in the links I provided above. Baically member.Id != turnContext.Activity.Recipient.Id might need to change, based on what you're trying to do.

hope that helps



来源:https://stackoverflow.com/questions/59817497/detect-bot-application-open-event

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!