-
Notifications
You must be signed in to change notification settings - Fork 492
feat: add GetMeetingInfo and meeting event support #5655
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| /// <summary> | ||
| /// Invoked when a Teams Meeting Start event activity is received from the connector. | ||
| /// Override this in a derived class to provide logic for when a meeting is started. | ||
| /// </summary> | ||
| /// <param name="meeting">The details of the meeting.</param> | ||
| /// <param name="turnContext">A strongly-typed context object for this turn.</param> | ||
| /// <param name="cancellationToken">A cancellation token that can be used by other objects | ||
| /// or threads to receive notice of cancellation.</param> | ||
| /// <returns>A task that represents the work queued to execute.</returns> | ||
| protected virtual Task OnTeamsMeetingStartAsync(MeetingStartEventDetails meeting, ITurnContext<IEventActivity> turnContext, CancellationToken cancellationToken) | ||
| { | ||
| return Task.CompletedTask; | ||
| } | ||
|
|
||
| /// <summary> | ||
| /// Invoked when a Teams Meeting End event activity is received from the connector. | ||
| /// Override this in a derived class to provide logic for when a meeting is ended. | ||
| /// </summary> | ||
| /// <param name="meeting">The details of the meeting.</param> | ||
| /// <param name="turnContext">A strongly-typed context object for this turn.</param> | ||
| /// <param name="cancellationToken">A cancellation token that can be used by other objects | ||
| /// or threads to receive notice of cancellation.</param> | ||
| /// <returns>A task that represents the work queued to execute.</returns> | ||
| protected virtual Task OnTeamsMeetingEndAsync(MeetingEndEventDetails meeting, ITurnContext<IEventActivity> turnContext, CancellationToken cancellationToken) | ||
| { | ||
| return Task.CompletedTask; | ||
| } | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: There's a couple of things I'm not sure about with these:
- Argument order. Some methods (like
OnTeamsFileConsent) haveturnContextfirst, while others (likeOnTeamsChannelDeleted) haveturnContextcome after the method-specific arguments (likechannelInfoandteamsInfo). - Based on the other overrides and virtuals, it looks like not marking these methods as
asyncis the right call. Just want to confirm.
| @@ -0,0 +1,91 @@ | |||
| // Copyright (c) Microsoft Corporation. All rights reserved. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: The inheritance around these new classes/interfaces is based around how Teams sends different but similar payloads for GetMeetingDetails and the meeting start/end events.
See review comments (some marked as resolved) for the JS PR for previous discussion.
Fixes #5622
Fixes #5623
Description
Adds a
GetMeetingInfomethod toTeamsInfo.Adds support to TeamsActivityHandler for meeting start/end events.
Notes
Bots implementing this must add this to their
manifest.json:Testing
Note that somebody needs to actually start/join the meeting for this to work. The scheduled start/end times mean nothing for this event.
