はじめまして!
Slack面白いですね。今日はSlackでなんか言うと返してくれるbotを作ったログを書き残しておきます。
かなりレベル低い私ですが、プログラミングの手習いとして取り組んでみた結果を書いてみたいと思います。
ここのユーザーの方々には申し訳ないレベルです。
SlackのIntegrationを設定する。
Outgoing Webhooksの設定(結局使わなかった)
まずはslackのOutgoing WebHooksを使っていきました。
Channelは Any
Trigger Word(s)は rassun
URL(s)に 自分のサーバーに置いてあるphpを指定します。
その他は適当にしました。
Customize Nameはrassunとか。
あとは
Customize Iconを:sunglasses:
にしました。
↑こんなやつ
結論、キレイなコードかけなかったのでSlash Commandsにすることにしました。
SlashCommandsの設定
Command は /rassun
URL は 自分のサーバーに置いてあるphpファイルを指定します。
Method, Token は 最初のママです。
Show this command in the autocomplete list にはチェックを入れました。
php書いてみた
ここからが問題ですね。
こんなコード書いてみました。
<?php
// 受信文字列取得
$text = $_POST["text"];
// IncomingWebHookへ送信
$payload = array(
"channel" => "#{$_POST["channel_name"]}",
"attachments" => array(
array(
"fallback" => "ラッスンゴレライ!お願いします!",
"pretext" => "ラッスンゴレライ! ".$text." ってなんですのーん?!",
"color" => "#E4969D",
"fields" => array(
array(
"short" => "false"
)
)
)
)
);
// IncomingWebHookへ送信
$curl = curl_init("IncomingWebHookURL");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER, 'Content-type: application/json');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close($curl);
?>
これでサングラスさんがラッスンゴレライを返してくれるようになりました!
おわりに
ほとんど初めて、動くプログラムを書いたので、楽しかったです。
次はGoogleシートとslackの連携に挑戦中です!