mattermostのbot環境構築方法(windows)※php版

mattermostのbot環境構築方法(windows)※php版

mattermostのbot環境構築方法(windows)※php版

参考と試しのphpファイルは以下のサイトからお借りしました。
超簡単!MattermostにBOTを追加する

botはxamppのApach上で動かすので、
phpファイルを置く場所は
「C:\xampp\htdocs\」上になる。
今回はphpbot用にディレクトリを作成し以下のように配置する。
「C:\xampp\htdocs\php\phpbotstartup\echo.php」

ブラウザ上からは
「http://localhost:28080/php/phpbotstartup/echo.php」
でアクセスできる。

mattermostのwebhookの設定

事前に、botを動かしたいアカウントに管理者権限をつけておく。

下の赤い部分をクリックし、「統合機能」を開く




外向きのウェブフックを選択し、「外向きのウェブフックを追加する」をクリックする。

ウェブフックの設定画面が出るので、以下のように設定する。
コンテントタイプ:「application/x-www-form~」を選択。
チャンネル:何も選択しなければ全てのチャンネルに有効となる。
トリガーワード:参考元に合わせて「echo」とする。
コールバックURL:「http://localhost:28080/php/phpbotstartup/echo.php」
※もしmattermostとbotを動かすapacheを異なるサーバに立てている場合、localhostではなくapacheのIPアドレスを指定する。その際はapacheサーバのファイアウォールのポート開放を忘れずに。

「保存する」をクリックすると、ウェブフックの設定が完了する。

この時のトークンを「echo.php」に設定する。

すると、このトークンを持つアクセス以外は反応しなくなる。
botで色々試したい段階の場合はこのif文自体無い方がいいかもしれない。

botが反応する。

※画像ではbotの名前とかアイコンが変わってないが、連携したばかりの状態だと反映されない。一度リロードすると反映される。

botが反応してくれなかったら

ここまでの手順通りに行い、反応しない場合がある。
その場合はmattermostのログを確認する。
「C:\mattermost\logs\mattermost.log」

[2018/04/13 20:19:36 JST] [EROR] POSTイベントが失敗しました err=Post http://localhost:28080/php/phpbotstartup/echo.php: address forbidden

⇒localhostをIpアドレスに変えること

[2018/04/13 20:26:37 JST] [EROR] POSTイベントが失敗しました err=Post http://XX.XX.XX.XX:28080/php/phpbotstartup/echo.php: address forbidden

⇒mattermostが外部通信を許可してない可能性がある。
「C:\mattermost\config\config.json」
“AllowedUntrustedInternalConnections”: “IPアドレス/サブネットマスク”,
を追加する。
“AllowedUntrustedInternalConnections”: “0.0.0.0/0”,
だと全てのアクセスを許可するが、非推奨。

エラー参考

Configuration Settings
Outgoing Webhook – [EROR] Event POST failed, err=Post http:192.168.3.207: address forbidden

–追記–

botによるユーザ名とプロフィール画像の書き換えが反応しない場合

システム管理者アカウント→システムコンソール
統合機能→カスタム統合機能
・統合機能によるユーザ名の上書きを許可する
・統合機能によるプロフィール画像アイコンの上書きを許可する

この二つが無効になっていた場合、有効に変更する。

botカテゴリの最新記事