microsoft/teams.net

Public

mirrored from https://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v2.0.0-preview.5

Branches

Tags

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

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Apps/Activities/Conversations/MembersAddedActivity.cs

47lines · modecode

1using Microsoft.Teams.Api.Activities;
2using Microsoft.Teams.Apps.Routing;
3
4namespace Microsoft.Teams.Apps.Activities;
5
6public static partial class Conversation
7{
8 [AttributeUsage(AttributeTargets.Method, Inherited = true)]
9 public class MembersAddedAttribute() : UpdateAttribute
10 {
11 public override bool Select(IActivity activity)
12 {
13 if (activity is ConversationUpdateActivity update)
14 {
15 return update.MembersAdded.Length > 0;
16 }
17
18 return false;
19 }
20 }
21}
22
23public static partial class AppActivityExtensions
24{
25 public static App OnMembersAdded(this App app, Func<IContext<ConversationUpdateActivity>, Task> handler)
26 {
27 app.Router.Register(new Route()
28 {
29 Handler = async context =>
30 {
31 await handler(context.ToActivityType<ConversationUpdateActivity>());
32 return null;
33 },
34 Selector = activity =>
35 {
36 if (activity is ConversationUpdateActivity update)
37 {
38 return update.MembersAdded.Length > 0;
39 }
40
41 return false;
42 }
43 });
44
45 return app;
46 }
47}