/// <inheritdoc/> public override async Task <DialogTurnResult> BeginDialogAsync(DialogContext dc, object options = null, CancellationToken cancellationToken = default(CancellationToken)) { if (options is CancellationToken) { throw new ArgumentException($"{nameof(options)} cannot be a cancellation token"); } if (Disabled != null && Disabled.GetValue(dc.State)) { return(await dc.EndDialogAsync(cancellationToken : cancellationToken).ConfigureAwait(false)); } if (dc.Context.Activity.ChannelId != Channels.Msteams) { throw new InvalidOperationException($"{Kind} works only on the Teams channel."); } string meetingId = MeetingId.GetValueOrNull(dc.State); var result = await TeamsInfo.GetMeetingInfoAsync(dc.Context, meetingId, cancellationToken : cancellationToken).ConfigureAwait(false); if (Property != null) { dc.State.SetValue(Property.GetValue(dc.State), result); } return(await dc.EndDialogAsync(result, cancellationToken : cancellationToken).ConfigureAwait(false)); }
private async Task CallTeamsInfoGetMeetingInfoAsync(ITurnContext turnContext) { var meeting = await TeamsInfo.GetMeetingInfoAsync(turnContext); Assert.Equal("meeting-id", meeting.Details.Id); Assert.Equal("organizer-id", meeting.Organizer.Id); Assert.Equal("meetingConversationId-1", meeting.Conversation.Id); }