PHP에서 슬랙에 투고하는 메시지를 만드는 반을 만들어 봤습니다.
YYPHP Advent Calendar 2018 제가 7일째 책임지는 거예요@nobuhiro-kobayashi!!
최근 1년가량 슬랙을 마구잡이로 쓸 기회가 늘었지만, 프로그램에서 사용해본 적이 없어 메시지를 보내는 PHP반을 만들어 봤다.
각양각색의 사람들이 실시하고 있지만 동시에 연습도 해야 한다.
Slack 설정
로그인 작업공간
작업공간로그인에 있습니다.
※ 제작부터 진행하고 싶은 사람은 여기.부터 시작하세요.
로그인 후 로그인Slack App 카탈로그합니다.
오른쪽 상단에 작업공간 이름이 있는지 확인하십시오.
Incoming WebHook 추가
이렇게 하면 외부 서비스에서 슬랙에 메시지를 보낼 수 있다.
검색 창에 "Incoming WebHook"을 입력하여 검색하고 프롬프트를 표시하면 을 클릭합니다.
수신자 채널 지정
이전에 설정한 작업공간에 등록된 채널이 선택 상자에 표시됩니다. 원하는 채널을 선택하십시오.
선택한 후 아래의 "Incoming Webhook 포인트 추가"를 클릭합니다.
웹 훅 URL 가져오기
아래로 스크롤하면 '포인트 설정' 이라는 제목이 있습니다.
슬랙에서 투고할 때 필요한 웹훅 URL이 기재되어 있으므로 저장하십시오.
설정이 완료되면 지정된 채널에 정보가 표시됩니다.
위 슬랙 측 설정 완료!!
PHP
이번에는 사용자 이름, 아이콘, 메시지의 세 개를 투고해 봤다.
다양한 설정을 할 수 있으니 다음에 추가해 보자.
Incoming WebHooks 참조
<?php
// メッセージ送信用
class SlackSender
{
/**
* @var string
*/
private $webHookUrl;
/**
* @var []
*/
private $data;
public function __construct(string $webHookUrl)
{
$this->webHookUrl = $webHookUrl;
}
public function userName(string $userName)
{
$this->data['username'] = $userName;
return $this;
}
public function text(string $text)
{
$this->data['text'] = $text;
return $this;
}
public function iconEmoji(string $emoji)
{
$this->data['icon_emoji'] = $emoji;
return $this;
}
public function post()
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->webHookUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'payload=' . urlencode(json_encode($this->data)));
curl_exec($ch);
curl_close($ch);
}
}
// 呼び出し
$url = "https://hooks.slack.com/services/XXXX/"; // 各自設定してください
$slackClient = new SlackSender($url);
$slackClient->userName('ビードル')
->iconEmoji(':bug:')
->text('PHPから投稿したよ')
->post();
실행 결과총결산
이번이 내 인생에서 처음으로 advent 달력에 참가한 것이다.
간단한 내용이라도 기사로 쓰기는 어렵다.
매일 기사를 써주시는 여러분께 정말 감사드립니다.
내일 8일째YYPHP Advent Calendar 2018는 @clown0082선생님의 투고입니다!!
Reference
이 문제에 관하여(PHP에서 슬랙에 투고하는 메시지를 만드는 반을 만들어 봤습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nobuhiro-kobayashi/items/66e41d4721be288b40ad텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)