我对 Microsoft Bot Framework 还很陌生。我有一个机器人,它接收来自一个用户的消息,并且可以被另一个用户查看。我想添加一项功能,让查看者可以回复发件人。我认为最好的方法是向原始发件人发送主动消息。但是,我无法理解 Microsoft 提供的文档,而且其他来源也相当过时。
现在这就是我所拥有的。
MessageDetails.RelatesTo 包含 ConversationReference:
private async Task<DialogTurnResult> FinalStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
var messageDetails = (MessageDetails)stepContext.Options;
var replyText = (string)stepContext.Result;
var messageactivity = messageDetails.RelatesTo.GetContinuationActivity();
await stepContext.Context.SendActivityAsync($"{messageDetails.RelatesTo}");
var client = new ConnectorClient(new Uri(messageactivity.ServiceUrl));
if (messageDetails.IsTrustedServiceUrl)
{
MicrosoftAppCredentials.TrustServiceUrl(messageactivity.ServiceUrl);
}
var triggerReply = messageactivity.CreateReply();
triggerReply.Text = $"NoReply from {stepContext.Context.Activity.Name}: {replyText}";
await client.Conversations.ReplyToActivityAsync(triggerReply);
await stepContext.Context.SendActivityAsync($"Your reply has been sent to {messageDetails.RelatesTo.User.Name}.");
return await stepContext.EndDialogAsync(messageDetails, cancellationToken);
}
这段代码不起作用,我不完全确定为什么。(我也很感激任何有关如何解决问题的建议)。我意识到这并没有利用微软提供的示例代码中显示的控制器。老实说,我不明白通知控制器是如何工作的。因此,如果解决方案涉及到这一点,最好能得到一些细节的解释。
海绵宝宝撒
相关分类