CentOS7.3 환경(Vagrant)에 Mattermost 가 있었으므로 php 로 bot 를 추가해 본다(Outgoing WebHooks) 그 1

bot



Mattermost 넣었기 때문에 Hubot에서도 넣어 놀아 보려고 생각하면서도, Hubot의 설정과 coffie script 기억하는 것이 조금 문턱이 높았기 때문에, 일단 bot만 바삭하게 동작시켰다. 가다른 좋은 본 사이트가 있었기 때문에 참고로했습니다.

결과적으로 "슈퍼 간단"이지만



방법을 알면 모두 "쉽다"라고 말할 것이라고 생각하지만, bot의 아이콘 변하지 않거나 이름이 변경되지 않고 15 분 정도 고민했습니다. 그 외는, 뭐 할까와 순서대로 하면 좋다.

통합 기능 사전 준비



우선 "시스템 콘솔 - 통합 기능 - 커스텀 통합 기능"을 선택한다. ※일본어화하고 있습니다
그래서 아래의 기능을 유효로 설정합니다.
・統合機能によるユーザー名の上書きを許可する:
・統合機能によるプロフィール画像アイコンの上書きを許可する
・統合機能の管理を管理者のみに制限する



초간단 bot을 설치해 본다



매우 간단! Mattermost에 BOT 추가

상기를 참고로 진행해 나갑니다. 「echo ほげ」입력하면 bot에서 「2017/08/01 13:21:23 ほげ」라고 회신되는 기능을 만들어 보겠습니다.

콜백 URL



입력된 문자열을 처리하기 위한 소위 API를 구현합니다. 어디에 설치해도 좋지만, Mattermost는 80 포트 사용하고 있으므로, Apache(8080)+php 라든지 다른 포트로 API를 움직여 있으면 됩니다.

echo.php
<?php
if ($_POST['token'] != "bsfwydtxc3rgznwki35gw6s5to") { return; }

$text   = $_POST['text'];
$query  = preg_split('/[\s\x{3000}]/u', $text, 2);

echo json_encode(array("icon_url" => "/static/emoji/1f697.png", "username" => "echo", "text" => date("Y/m/d H:i:s") . " " . $query[1]));
return;

여기서 중요한 것은 $_POST['token'] !=의 정의로 토큰을 판정하고 있는 것. 트리거로 기동되지만 토큰과 일치하지 않으면 처리하지 않는 판정입니다. 정의가 있습니까?

bot 정의(외향 웹 훅)



외향 웹 후크를 선택합니다.



정의한 최종 결과이지만, 여기서 필요한 정의는 2개.
우선 「트리거 워드」는, bot 가 기동하는 조건.
그리고 「콜백 URL」, 이쪽은 실제로 움직이는 bot.



정의하면 토큰이 지급되므로 메모됩니다.
그리고 bot 프로그램에 반영하는 것.

동작 확인해보기



「echo 아아」라고 입력해 본다. 왔다! ! !
사실, 매우 간단했습니다 www



php라면



php라면 간단하게 DB액세스할 수 있거나, 스크레이핑하거나등 여러가지 할 수 있기 때문에 편리 기능을 조금 만들 수 있는 것이 좋을지도.

참고로하겠습니다 사이트



매우 간단! Mattermost에 BOT 추가
슬랙 클론의 Mattermost 사용하기 - 외부 연계편 - (WebHooks, Hubot)

좋은 웹페이지 즐겨찾기