如何解决如何获取从 Bot Framework Composer 发送的消息的 ResourceResponse.Id
我了解如何在 Composer 之外的代码中执行此操作,但是有没有办法在 Composer 中使用它?
有这个:How to get message id of sent message Bot Framework (Teams channel)? 但它不是来自作曲家。
解决方法
它必须在自定义操作中(如您所述),然后在结果属性中返回资源 ID,以便您可以在其他地方使用它。自定义操作的 BeginDialogAsync
方法类似于:
public override async Task<DialogTurnResult> BeginDialogAsync(DialogContext dc,object options = null,CancellationToken cancellationToken = default(CancellationToken))
{
var activity = Activity.CreateMessageActivity();
//...
var resource = await dc.Context.SendActivityAsync(activity);
if (this.ResultProperty != null)
{
dc.State.SetValue(this.ResultProperty.GetValue(dc.State),result);
}
return await dc.EndDialogAsync(result: result,cancellationToken: cancellationToken);
}
更新
使用“ResultProperty”属性更新了代码,就像自定义运行时中的示例自定义操作一样。这样,自定义操作的可重用性会更高。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。