So verknüpfen Sie Feedback mit der Antwortnachricht in Teams Bot - Bot Framework SDK
Posted: 17 Mar 2025, 15:58
In OnMessaRectivityAsync erhalte ich eine API -Antwort, füge ChannelData Feedbackloop hinzu und rufe sendActivityAsync auf. < /p>
Ich kann das Thumbsup/Down -Symbol abrufen und das Feedback für diese Nachricht sammeln und es bei AppInsights in ONInvokeactivityaSync protokollieren.
switch (turnContext.Activity.Name)
{
case "message/submitAction":
_logger.LogInformation("Your feedback is " +
JObject.FromObject(turnContext.Activity.Value).ToString());
_logger.LogInformation("Feedback for message ID: " +
turnContext.Activity.ReplyToId);
var feedbackResponse = new
{
status = "success",
message = "Feedback received"
};
return CreateInvokeResponse(200, feedbackResponse);
default:
return await base.OnInvokeActivityAsync(turnContext, cancellationToken);
}
< /code>
Ich versuche jetzt, das Feedback mit der Nachricht zu verknüpfen, für die das Feedback gegeben ist. Wie kann ich das machen? Aber wie kann ich die Nachricht oder ein beliebiges Attribut erhalten, das dem ReplyToid entspricht. Mein ultimatives Ziel ist es, dieser ID zu entsprechen, die zur eingehenden API -Antwortnachricht an die Feedback -Daten gehört und sich bei App -Erkenntnissen anmeldet. Wie kann ich das erreichen?
Code: Select all
var replyText = $" {APIresponse} ";
var seperator = "------------------------------------";
var disclaimerText = "```DisclaimerTextHere```";
replyText = replyText + "\n\n" + seperator + "\n\n" + disclaimerText;
var channelData = new JObject
{
{ "feedbackLoop", new JObject { { "type", "default" } } }
};
var messageActivity = MessageFactory.Text(replyText);
messageActivity.Type = ActivityTypes.Message;
messageActivity.ChannelData = channelData;
var resourceResponse = await turnContext.SendActivityAsync(messageActivity,
cancellationToken);
_logger.LogInformation("Resource Response: {0}", resourceResponse.Id);
switch (turnContext.Activity.Name)
{
case "message/submitAction":
_logger.LogInformation("Your feedback is " +
JObject.FromObject(turnContext.Activity.Value).ToString());
_logger.LogInformation("Feedback for message ID: " +
turnContext.Activity.ReplyToId);
var feedbackResponse = new
{
status = "success",
message = "Feedback received"
};
return CreateInvokeResponse(200, feedbackResponse);
default:
return await base.OnInvokeActivityAsync(turnContext, cancellationToken);
}
< /code>
Ich versuche jetzt, das Feedback mit der Nachricht zu verknüpfen, für die das Feedback gegeben ist. Wie kann ich das machen? Aber wie kann ich die Nachricht oder ein beliebiges Attribut erhalten, das dem ReplyToid entspricht. Mein ultimatives Ziel ist es, dieser ID zu entsprechen, die zur eingehenden API -Antwortnachricht an die Feedback -Daten gehört und sich bei App -Erkenntnissen anmeldet. Wie kann ich das erreichen?