microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/sub-pr-199

Branches

Tags

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

Clone

HTTPS

Download ZIP

Samples/Samples.Echo/Program.cs

50lines · modecode

1using Microsoft.Teams.Api.Activities;
2using Microsoft.Teams.Apps;
3using Microsoft.Teams.Apps.Activities;
4using Microsoft.Teams.Apps.Annotations;
5using Microsoft.Teams.Apps.Extensions;
6using Microsoft.Teams.Apps.Plugins;
7using Microsoft.Teams.Plugins.AspNetCore.DevTools.Extensions;
8using Microsoft.Teams.Plugins.AspNetCore.Extensions;
9
10namespace Samples.Echo;
11
12public static partial class Program
13{
14 public static void Main(string[] args)
15 {
16 var builder = WebApplication.CreateBuilder(args);
17 builder.Services.AddTransient<Controller>();
18 builder.AddTeams().AddTeamsDevTools();
19
20 var app = builder.Build();
21 app.UseHttpsRedirection();
22 app.UseTeams();
23 app.Run();
24 }
25
26 [TeamsController]
27 public class Controller(ILogger<Controller> logger)
28 {
29 [Activity]
30 public async Task OnActivity(IContext<Activity> context, [Context] IContext.Next next)
31 {
32 logger.LogInformation(context.AppId);
33 await next();
34 }
35
36 [Message]
37 public async Task OnMessage([Context] MessageActivity activity, [Context] IContext.Client client)
38 {
39 logger.LogInformation("hit!");
40 await client.Typing();
41 await client.Send($"you said '{activity.Text}'");
42 }
43
44 [Microsoft.Teams.Apps.Events.Event("activity")]
45 public void OnEvent(IPlugin plugin, Microsoft.Teams.Apps.Events.Event @event)
46 {
47 Console.WriteLine("!!HIT!!");
48 }
49 }
50}