1

我使用 PromptCustomDialog 发送消息。如果一个人在一段时间内无法回答问题,如何发送下一条消息?我将不胜感激这些例子。

await context.Forward(new PromptCustomDialog(message, answers), Complete, context.MakeMessage(), CancellationToken.None);

public async Task Complete(IDialogContext context, IAwaitable<string> result)
   {
        var res = await result;
        string response = res;
        await Choose(context, response);
    }
4

1 回答 1

1

这将需要您设置某种计时器来触发事件,从而导致机器人向用户发送主动消息。您可以在此处阅读有关发送主动消息的更多信息

我唯一要指出的是,像 Web 服务一样,机器人通常在多个服务器上运行多个实例(例如,如果您部署在 Azure App Services 上),因此您需要使用某种分布式、有状态的计时器服务帮助您确保计时器触发并触发事件,无论它来自哪个服务器。

于 2019-01-11T17:58:23.817 回答