microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
8e11e5e231765b6fbeae91b4033a354e2340d0af

Branches

Tags

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

Clone

HTTPS

Download ZIP

Samples/Samples.Lights/Controller.cs

36lines · modecode

1using System.Text.Json;
2
3using Microsoft.Teams.AI.Models.OpenAI;
4using Microsoft.Teams.Api.Activities;
5using Microsoft.Teams.Apps;
6using Microsoft.Teams.Apps.Activities;
7using Microsoft.Teams.Apps.Annotations;
8
9namespace Samples.Lights;
10
11[TeamsController]
12public class Controller(OpenAIChatPrompt _prompt)
13{
14 [Message("/history")]
15 public async Task OnHistory(IContext<MessageActivity> context)
16 {
17 var state = State.From(context);
18 await context.Send(JsonSerializer.Serialize(state.Messages, new JsonSerializerOptions()
19 {
20 WriteIndented = true
21 }));
22 }
23
24 [Message]
25 public async Task OnMessage(IContext<MessageActivity> context)
26 {
27 var state = State.From(context);
28
29 await _prompt.Send(context.Activity.Text, new() { Messages = state.Messages }, (chunk) => Task.Run(() =>
30 {
31 context.Stream.Emit(chunk);
32 }), context.CancellationToken);
33
34 state.Save(context);
35 }
36}