パブリックチャンネルのレスポンスを問題なく表示するようにいくつかのスラッシュコマンドを設定しましたが、プライベートチャンネルやダイレクトメッセージには何も表示されません。Slack Slashコマンド - プライベートチャンネルやダイレクトメッセージでは機能しません
以下に示すように、私はin_channel応答タイプを使用しています。私が使用できる他の応答タイプはありますか、それともどこかで動作するように回避策がありますか?
$data = array(
"username" => "My_user",
"channel" => $channel_id,
"response_type" => "in_channel",
"text" => $text,
"mrkdwn" => true,
"icon_url" => $icon_url
);
$json_string = json_encode($data);
$slack_call = curl_init($slack_webhook_url);
curl_setopt($slack_call, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($slack_call, CURLOPT_POSTFIELDS, $json_string);
curl_setopt($slack_call, CURLOPT_CRLF, true);
curl_setopt($slack_call, CURLOPT_RETURNTRANSFER, true);
curl_setopt($slack_call, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"Content-Length: " . strlen($json_string))
);
$result = curl_exec($slack_call);
curl_close($slack_call);
ありがとうございます!
ありがとう、Erik。これは素晴らしいですが、私が修正する必要がある2つのことがあります:それはまた、元のコマンドを返す(私はおそらくどのように取り除く方法を見つけることができます)しかし、最も重要なのは、コード。上記のように、私は "icon_url" => $ icon_urlを持っています。これはスラッシュコマンドの不可欠な部分です。あなたのアプローチにその行を追加しましたが、うまく機能しません。これができるかどうか知っていますか?再度、感謝します! – Irina
お寄せください。 1. "in_channel"を使用すると、元のコマンドに常に応答します。それをオフにして "一時的な"ものを使用する唯一の方法ですが、応答は発行者だけが見ることができます。 2.スラッシュコマンドの応答メッセージにアイコンを設定することはできません。その代わりに、あなたは対応するスラックアプリのアイコンをアプリ設定で設定する必要があります。 –
もう一度、ありがとう、Erik。その場合、アイコンを動的に設定してコマンドを非表示にする必要があるが、まだチャンネルに投稿する必要があるので、私は私の元のアプローチに従わなければならないのではないかと恐れている。私の元のコードは素晴らしいですが、いくつかのテストをした後、私はそれが少なくとも5人の人がいるチャンネルでのみ動作することを認識しました。なぜこれが起こりうるのか、それを修正する方法があるのか知っていますか?それは私のバグのようです。再度、感謝します! – Irina