打开 Slack 对话框

Open a Slack Dialog

我创建了一个交互式消息按钮来打开一个对话框。

这是交互消息端点的应用程序代码。

$httpClient = new GuzzleHttp\Client();

$httpClient->post($interactionRequest->payload->response_url, [
    'json' => [
        'text' => 'dialog open',
        'trigger_id' => $interactionRequest->payload->trigger_id,
        'dialog' => [
            'callback_id' => 'ryde-46e2b0',
            'title' => 'Request a Ride',
            'submit_label' => 'Request',
            'elements' => [
                [
                    'type' => 'text',
                    'label' => 'Pickup Location',
                    'name' => 'loc_origin',
                ],
                [
                    'type' => 'text',
                    'label' => 'Dropoff Location',
                    'name' => 'loc_destination',
                ],
            ],
        ],
    ],
]);

请求成功,我在 json text 属性中定义的消息显示在 slack 中。但是对话框打不开。

我的代码缺少什么部分来打开一个对话框?

这不起作用,因为您没有使用正确的方法打开对话框。

如果您想打开 Slack 对话框,您需要 post 对话框定义以及此 API 方法的触发器:dialog.open.