技術ブログ

プログラミング、IT関連の記事中心

Slack Appのchat.postMessageでメンションをつけたメッセージを送信する方法

目次

事前準備

本記事は、以下の「GASでSlackAPIを使用してチャンネルにメッセージを送信する方法」の内容を元にGASのソースコードのみを修正しています。

https://reigle.info/entry/2022/10/24/100000reigle.info

channelメンションの付け方

以下の「MESSAGE」の定数のように「<!channel>」を付けることで、channelメンションを付ける事ができます。

const BOT_USER_OAUTH_TOKEN = "xoxb-XXXXXX";
const CHANNEL_NAME = "XXXXXX"
const MESSAGE = "<!channel> \nテスト"

function slackPostChannel() {
  const message_options = {
    "method" : "post",
    "contentType": "application/x-www-form-urlencoded",
    "payload" : {
      "token": BOT_USER_OAUTH_TOKEN,
      "channel": CHANNEL_NAME,
      "text": MESSAGE
    }
  };

  UrlFetchApp.fetch("https://slack.com/api/chat.postMessage", message_options);
}

ユーザーメンション(TO)の付け方

以下の「MESSAGE」の定数のように「<@XXXXXXXXXXX>」を付けることで、ユーザーへのメンションを付ける事ができます。
<@XXXXXXXXXXX>」の「XXXXXXXXXXX」に関しては、以降に記載する「メンバーIDの確認方法」で取得したメンバーIDに差し替えてください。

const BOT_USER_OAUTH_TOKEN = "xoxb-XXXXXX";
const CHANNEL_NAME = "XXXXXX"
const MESSAGE = "<@XXXXXXXXXXX> \nテスト"

function slackPostChannel() {
  const message_options = {
    "method" : "post",
    "contentType": "application/x-www-form-urlencoded",
    "payload" : {
      "token": BOT_USER_OAUTH_TOKEN,
      "channel": CHANNEL_NAME,
      "text": MESSAGE
    }
  };

  UrlFetchApp.fetch("https://slack.com/api/chat.postMessage", message_options);
}

メンバーIDの確認方法

Slackアプリから、該当のメンバーのプロフィールを開き(ユーザーアイコンなどを押下する事で開く事ができます)、その他のメニューを押下する。

メンバーIDをコピー」を押下する。

クリップボードにメンバーIDがコピーされているので、任意のテキストエディタなどで「command + v」を押下して貼り付けると、メンバーIDが確認できる。