从 approve slack 获取价值 php

get value from approve slack to php

在这里,我尝试将 Web 应用程序的交互式消息按钮附加到 slack,我已经 post 消息到 slack JSON。现在我如何在松弛到 php/web 应用程序时获得按钮批准的价值?

函数

function slacktest($message, $room = "channel-name")
{
    $room = ($room) ? $room : "channel-name";
    $data = "payload=" . json_encode(array(
            "channel"       =>  "#{$room}",
            "text"          =>  $message,
            "username"      =>  "Beny",
            "attachments"   =>  array([
                                'fallback' => 'Hey! See this message',
                                'pretext'  => 'New Approval Request ! ',
                                'color'    => '#ff6600',
                                'actions'  => array
                      (
                      [
                      'name'     => "one",
                      'text'     => "Approve",
                      'value'    => '1',
                      'url'      => 'insertapprove.php',
                      'type'     => 'button',    
                      'confirm'  => [                                                                       
                'title' => 'Confirm',
                'text'  => 'Your Leave Requested has been Approved',
                'ok_text' => 'Yes',
                'dismiss_text' => 'No',
                                    ]
                                    ],
                                  [
                'name'     => "two",
                'text'     => "Reject",
                'value'    => '2',
                'type'     => 'button',
                'confirm'  => [
                'title'        => 'Confirm',
                'text'         => 'Your Leave Requested is Cancelled',
                'ok_text'      => 'No',
                'dismiss_text' => 'No',
                               ]
                               ]
                               )
                               ]),   
      "icon_url"      =>  'http://localhost/images/nestor-icon.png'
        ));
    $ch = curl_init("https://hooks.slack.com/services/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");
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $result     = curl_exec($ch);
    curl_close($ch);
    echo "Slack response : ". $result ;
    return $result;
}

调用函数

$message2 = "Tes Channel 2";
$channel2 = "random";
slacktest($message2,$channel2);

要在有人单击按钮后获取 "value back",Slack 会向您的应用发送请求。为此,Slack 需要知道您的应用程序的 URL,并且您的应用程序需要能够处理来自 Slack 的交互式消息请求。

因此您需要定义一个 Slack 应用程序。在那里,您可以指定应用程序的 URL(在交互组件下称为 "Request URL"),一旦按下按钮,Slack 就会调用它。

有关详细信息,请参阅 official documentation 中的响应消息 操作。