(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

UnityからSlackにメッセージを送る【Unity】【Slack】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2017.2.0f3


はじめに

今回はタイトル通り、UnityからSlackにメッセージを送ってみよう!という記事です。

Unityで作ったゲームに組み込むというよりは、エディタ拡張等の開発中に使う感じになると思います。


アクセストークンの取得

まずはアクセストークンを取得していきます。

こちらにアクセスし、Create An Appから新たにアプリを作成します。


f:id:kan_kikuchi:20171228083509j:plain


AppNameを適当に設定し、メッセージを送信したいワークスペースも設定します。


f:id:kan_kikuchi:20171228083647j:plain


次に権限を設定します。

「OAuth & 権限」「権限スコープの選択」から今回は「メッセージを送信」の権限を追加します。


f:id:kan_kikuchi:20171228083840j:plain
f:id:kan_kikuchi:20171228083848j:plain


権限を設定するとワークスペースへのインストールが可能になるので、インストールします。


f:id:kan_kikuchi:20171228083933j:plain


インストール完了後、アクセストークンが取得出来るようになります。


f:id:kan_kikuchi:20171228084014j:plain


メッセージの送信

アクセストークンが取得出来たら実際にメッセージを送って見ましょう。

Slackのチャットにメッセージを送るためのMethodはchat.postMessageというのですが、

これをUnityで簡単に使えるように、SlackNotifierというものを作ってみました。



UnityWebRequestの使い方については以下の記事を参照の事。



使い方は、SlackNotifierのTOKENにアクセストークンをコピペし、SlackNotifier.Sendを実行するだけ。

なお、チャンネル名と送信するテキストは必須で、他のパラメータはparamDictを使って指定します。

StartCoroutine(SlackNotifier.Send(
  channel : "unity", //チャンネル名の設定
  text    : "送信!"   //テキストの設定
));

f:id:kan_kikuchi:20171228084604j:plain

StartCoroutine(SlackNotifier.Send(
  channel : "unity", //チャンネル名の設定
  text    : "送信!",  //テキストの設定
  //パラメータの設定
  paramDict : new Dictionary<string, string>(){
    {"username",  "ボット"}//ユーザ名の設定
  }
));

f:id:kan_kikuchi:20171228084610j:plain