【问题标题】:Slack interactive message not triggering Post request on my botSlack 交互式消息未在我的机器人上触发 Post 请求
【发布时间】:2020-07-08 08:42:01
【问题描述】:

我正在使用 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 应用程序,并返回 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 应用上我有以下配置

重定向网址:

范围:

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

我已订阅以下 Bot 事件

机器人配置为始终在线:

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

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

【问题讨论】:

标签: c# botframework slack-api


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-12-26
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多