Slackには、チャンネルとは別で、ユーザーグループを作る機能があります。
参考:SlackがUser Groups機能を追加、所属チャネルに関係なく「@engineers」などで対象者全員にメッセージ - THE BRIDGE(ザ・ブリッジ)
APIからだと、@hoge-group
のように単に@をつけただけではメンションを送れません。
正しくメンションを送る方法を紹介します。なお、動作確認はnode-slackで行いました。
user group のIDを調べる
-
usergroups.list method | Slack から
usergroups.list
APIを叩く- tokenがない場合は、上部にメッセージが出てると思うので、リンクをクリックして、tokenを取得してください。
- メンションを送りたいグループのIDを取得する
- idとteam_idの2つがありますが、idの方が正しいです
messageをつくる
slack.send({
text: `Hello <!subteam^取得したID|グループ名> !`,
channel: config.SLACK_CHANNEL
});
という感じで、取得したIDとグループ名をいれてください。
参考:user groups
For paid teams there is an additional command for user groups that follows the format . These indicate a user group message, and should cause a notification to be displayed by the client. User group IDs can be determined from the usergroups.list API endpoint.
これでメンション飛ばせます!