Slackbotからmentionを飛ばす

Googleスプレッドシートをcronのように使いSlackに投稿する
http://developer.hatenastaff.com/entry/2016/01/15/170000

から、mentionを飛ばすに当たり、普通に書いただけでは動かなかったので、メモ。

コードを修正

https://github.com/motemen/gas-cronsheet-slack/blob/master/app.js

こちらのコードの27行目あたりに、
LinkNames: 1,
と追加する

var msg = new SlackMessage({
    username: SLACK_USERNAME,
    icon_emoji: SLACK_ICON_EMOJI,
    LinkNames: 1,
    header: '<' + sheet.getParent().getUrl() + '|' + sheet.getParent().getName() + '> @' + now
});

mentionを呼び出す箇所を書き直し

@bob
としたい場合
<@U024BE7LH|bob>
とする。
@U024BE7LH
はユーザーID。

ユーザーIDはこちらの方法で調べられる。
http://yatta47.hateblo.jp/entry/2016/02/02/215933

参考ページ

Slack API でユーザ・チャンネルの名前がリンクされないときの対処法 (あるいは takosan を試した件)
http://qiita.com/yuya_takeyama/items/e6fb25ec70b4d9618890

Message Formatting | Slack
https://api.slack.com/docs/formatting#control_sequences

投稿者:

ayako0802

フロントエンドエンジニア