- Notifications
You must be signed in to change notification settings - Fork 843
/
Copy pathSkillController.cs
55 lines (50 loc) · 2.28 KB
/
SkillController.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
usingSystem.Threading.Tasks;
usingMicrosoft.AspNetCore.Mvc;
usingMicrosoft.Bot.Builder;
usingMicrosoft.Bot.Builder.Integration.AspNet.Core;
usingMicrosoft.Bot.Schema;
namespaceMicrosoft.Teams.Apps.VirtualAssistant.Controllers
{
/// <summary>
/// A controller that handles skill replies to the bot.
/// This example uses the <see cref="SkillHandler"/> that is registered as a <see cref="ChannelServiceHandler"/> in startup.cs.
/// </summary>
[Route("api/skills")]
[ApiController]
publicclassSkillController:ChannelServiceController
{
privateChannelServiceHandler_handler;
publicSkillController(ChannelServiceHandlerhandler)
:base(handler)
{
_handler=handler;
}
/// <summary>
/// ReplyToActivity.
/// </summary>
/// <param name="conversationId">Conversation ID.</param>
/// <param name="activityId">activityId the reply is to (OPTIONAL).</param>
/// <param name="activity">Activity to send.</param>
/// <returns>TODO Document.</returns>
[HttpPost("v3/conversations/{conversationId}/activities/{activityId}")]
publicoverrideasyncTask<IActionResult>ReplyToActivityAsync(stringconversationId,stringactivityId,[FromBody]Activityactivity)
{
varresult=await_handler.HandleReplyToActivityAsync(HttpContext.Request.Headers["Authorization"],conversationId,activityId,activity).ConfigureAwait(false);
returnnewJsonResult(result);
}
/// <summary>
/// SendToConversation.
/// </summary>
/// <param name="conversationId">Conversation ID.</param>
/// <param name="activity">Activity to send.</param>
/// <returns>TODO Document.</returns>
[HttpPost("v3/conversations/{conversationId}/activities")]
publicoverrideasyncTask<IActionResult>SendToConversationAsync(stringconversationId,[FromBody]Activityactivity)
{
varresult=await_handler.HandleSendToConversationAsync(HttpContext.Request.Headers["Authorization"],conversationId,activity).ConfigureAwait(false);
returnnewJsonResult(result);
}
}
}