Slack 交互式消息未触发我的机器人的 Post 请求

Slack interactive message not triggering Post request on my bot

我正在使用 Microsoft Bot Framework 开发一个机器人。我正试图在 Slack 上启动它并 运行,但被有关交互式按钮的问题阻止了。在瀑布式对话流中,我正在创建如下所示的选择提示

    private async Task<DialogTurnResult> IdentifyUserTypeAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
    {
        var message = "Please select what kind of user you are"

        userTypes = await userTypeRepository.GetAllUserTypesAsync();
        var options = new PromptOptions
        {
            Prompt = MessageFactory.Text(message),
            Choices = ChoiceFactory.ToChoices(userTypes.Select(x => x.UserType.ToString()).ToList()),
            Style = ListStyle.HeroCard,
        };

        await state.ConversationState.SaveChangesAsync(stepContext.Context);
        return await stepContext.PromptAsync(UserTypeDialogId, options);
    }

在 Slack 应用程序中,按钮正确呈现,如下图所示。

但是,当我单击按钮时,没有任何反应。我看到本地 slack 客户端上的请求实际上调用了我的 slack 应用程序,并且 returns 带有 200.

我已按照本教程使用 ABS 设置 Slack 应用: https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-slack?view=azure-bot-service-4.0&tabs=abs

在slack app上我有以下配置

重定向 URL:

范围:

事件已启用,我已添加请求URL。黑色部分是我的机器人手柄,取自ABS

我订阅了以下机器人活动

机器人配置为始终在线:

最后,我启用了交互性,并添加了请求 URL,Slack 应用似乎已正确验证了该请求。

我错过了什么吗?我曾多次尝试重新开始,但最终都遇到了同样的情况,按钮似乎没有触发我的机器人代码中的任何内容。根本没有对 Bot 的网络服务器的传入请求。

正在修复。同时,您可以尝试两种解决方法。您可以创建 classic Slack app,也可以使用 Slack 适配器绕过 ABS Slack 连接器。

您可以在这里看到对此的讨论:https://github.com/microsoft/BotBuilder-Samples/issues/2553