问题
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