microsoft/teams.net

Public

mirrored fromhttps://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
core/integration-test-au

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Apps/Contexts/Context.Client.cs

92lines · modecode

1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
4using Microsoft.Teams.Api.Activities;
5
6namespace Microsoft.Teams.Apps;
7
8public partial interface IContext
9{
10 /// <summary>
11 /// an object that can send activities
12 /// </summary>
13 /// <param name="context">the parent context</param>
14 public class Client(IContext<IActivity> context)
15 {
16 /// <summary>
17 /// send an activity to the conversation
18 /// </summary>
19 /// <param name="activity">activity activity to send</param>
20 /// <param name="cancellationToken">optional cancellation token</param>
21 public Task<T> Send<T>(T activity, CancellationToken cancellationToken = default) where T : IActivity => context.Send(activity, cancellationToken);
22
23 /// <summary>
24 /// send a message activity to the conversation
25 /// </summary>
26 /// <param name="text">the text to send</param>
27 /// <param name="cancellationToken">optional cancellation token</param>
28 public Task<MessageActivity> Send(string text, CancellationToken cancellationToken = default) => context.Send(text, cancellationToken);
29
30 /// <summary>
31 /// send a message activity with a card attachment
32 /// </summary>
33 /// <param name="card">the card to send as an attachment</param>
34 /// <param name="cancellationToken">optional cancellation token</param>
35 public Task<MessageActivity> Send(Cards.AdaptiveCard card, CancellationToken cancellationToken = default) => context.Send(card, cancellationToken);
36
37 /// <summary>
38 /// send an activity to the conversation as a reply
39 /// </summary>
40 /// <param name="activity">activity activity to send</param>
41 /// <param name="cancellationToken">optional cancellation token</param>
42 public Task<T> Reply<T>(T activity, CancellationToken cancellationToken = default) where T : IActivity => context.Reply(activity, cancellationToken);
43
44 /// <summary>
45 /// send a message activity to the conversation as a reply
46 /// </summary>
47 /// <param name="text">the text to send</param>
48 /// <param name="cancellationToken">optional cancellation token</param>
49 public Task<MessageActivity> Reply(string text, CancellationToken cancellationToken = default) => context.Reply(text, cancellationToken);
50
51 /// <summary>
52 /// send a message activity with a card attachment as a reply
53 /// </summary>
54 /// <param name="card">the card to send as an attachment</param>
55 /// <param name="cancellationToken">optional cancellation token</param>
56 public Task<MessageActivity> Reply(Cards.AdaptiveCard card, CancellationToken cancellationToken = default) => context.Reply(card, cancellationToken);
57
58 /// <summary>
59 /// send a typing activity
60 /// </summary>
61 /// <param name="text">optional text to include</param>
62 /// <param name="cancellationToken">optional cancellation token</param>
63 public Task<TypingActivity> Typing(string? text = null, CancellationToken cancellationToken = default) => context.Typing(text, cancellationToken);
64
65 /// <summary>
66 /// trigger user signin flow for the activity sender
67 /// </summary>
68 /// <param name="options">option overrides</param>
69 /// <param name="cancellationToken">optional cancellation token</param>
70 /// <returns>the existing user token if found</returns>
71 public Task<string?> SignIn(OAuthOptions? options = null, CancellationToken cancellationToken = default) => context.SignIn(options, cancellationToken);
72
73 /// <summary>
74 /// trigger user SSO signin flow for the activity sender
75 /// </summary>
76 /// <param name="options">option overrides</param>
77 /// <param name="cancellationToken">optional cancellation token</param>
78 public Task SignIn(SSOOptions options, CancellationToken cancellationToken = default) => context.SignIn(options, cancellationToken);
79
80 /// <summary>
81 /// trigger user signin flow for the activity sender
82 /// </summary>
83 /// <param name="connectionName">the connection name</param>
84 /// <param name="cancellationToken">optional cancellation token</param>
85 public Task SignOut(string? connectionName = null, CancellationToken cancellationToken = default) => context.SignOut(connectionName, cancellationToken);
86 }
87
88 /// <summary>
89 /// calls the next handler in the route chain
90 /// </summary>
91 public delegate Task<object?> Next();
92}