В моем приложении я использую службу Azure Bot с MS Teams.
Когда я отправляю сообщение из веб-чата службы Azure Bot, я получаю сообщение от бота, но когда я отвечаю с ответом, служба бота не получает его.
Я не хочу использовать платформу бота, вместо этого я пытаюсь использовать агент.
Поскольку я использую MS Teams в боте следует ли мне использовать приведенный ниже код или предпочесть 365 Agent SDK или Teams SDK?
В коде, показанном ниже, я получаю все подробности в ответ, но они не получены в службе бота.
return Results.Ok(response);
В файле program.cs у меня есть:
app.MapBotEndpoints();
А это классы:
namespace AgentApp.Services
{
public interface IMessageService
{
Task HandleMessageAsync(Activity activity);
}
public class MessageService : IMessageService
{
public Task HandleMessageAsync(Activity activity)
{
var userMessage = activity.Text?.ToLower();
string reply = "Hi! This is your bot.";
// Build response for your custom bot
return Task.FromResult(new Activity
{
Type = "message",
Text = reply,
From = activity.Recipient,
Recipient = activity.From
});
}
}
}
namespace AgentApp.Endpoints
{
public static class BotEndpoints
{
public static void MapBotEndpoints(this WebApplication app)
{
app.MapPost("/api/messages", async (HttpContext context, IMessageService service) =>
{
var activity = await context.Request.ReadFromJsonAsync();
if (activity == null || activity.Type != "message")
return Results.Ok();
var response = await service.HandleMessageAsync(activity);
return Results.Ok(response);
});
}
}
}