如何在微软Bot框架中获得当前上下文
本文关键字:上下文 框架 微软 Bot | 更新日期: 2023-09-27 18:04:54
我正在使用FormDialog
构建一个表单,我正在传递BuildFormDelegate
参数(静态方法)。在这个方法中,我需要上下文来获取用户数据。
用户数据作为上下文的一部分存储,使用扩展名:
public static async Task<string> GetAccessToken(this IBotContext context, string resourceId)
我这样调用context:
var calendarform = new FormDialog<CalendarInput>(new CalendarInput(), MakeCalendarForm, FormOptions.PromptInStart, result);
context.Call<CalendarInput>(calendarform, CalendarFormComplete);
我需要调用MakeCalendarForm
中的GetAccessToken
方法(不带任何参数)。我怎样才能做到这一点呢?
您可以在调用表单之前调用GetAccessToken,并将结果令牌作为参数传递给您正在创建的FormDialog的CalendarInput状态。就像
var token = await context.GetAccessToken();
var calendarform = new FormDialog<CalendarInput>(new CalendarInput(token), MakeCalendarForm, FormOptions.PromptInStart, result);
然而,在表单的上下文中需要令牌听起来很奇怪。你想干什么?