botframework - 如何获取从 Bot Framework Composer 发送的消息的 ResourceResponse.Id
问题描述
我了解如何在作曲家之外的代码中执行此操作,但是有没有办法能够在作曲家中使用它?
有这个: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”属性,就像自定义运行时中的示例自定义操作一样。这样,自定义操作将更加可重用。
推荐阅读
- javascript - Java Selenium 测试,我们可以获取 javaScript 变量来断言
- javascript - 如何使用注入代码使底栏消失?
- r - 从批处理文件执行 Rscript - 无法正确处理“元音变音”(ä、ö、ü)
- r - 如何在 ggplot 中创建一个图例,将名称和颜色分配给列而不是数据框列中的值?
- reactjs - 即使初始化默认参数,TypeScript 也会抱怨 undefined
- python - python ctypes如何将字符串写入给定的缓冲区
- python - plotly sankey图定位
- android - Toast 无法识别上下文
- python - Python 从我的脚本运行单独的脚本
- python - 如何使用 np.sign 选择 2 个列表?