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

  • 42
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

ikachan for Slack こと takosan を試した

Slack API を通じて簡単に Slack にメッセージを送信できる takosan が便利そうだったので試してみました。

用途としては、例えば実行に時間のかかるコマンドを実行して、終わったら自分宛てに mention を飛ばさせる、みたいな感じです。

takosan は Heroku ボタンに対応しているので、サクッと Heroku にアップして試してみたところ以下のようになりました。

brfore.png

ユーザ名やチャンネル名がリンクになっていません。
また、Recent Mentions にも表示されず、通知も行われませんでした。

これでは当初想定した使い方ができない、と思ってなんとかできないか調べてみました。

対処法: link_names=1 を指定する

調べたところ、takosan の内部では Slack Web API の chat.postMessage というメソッドが使われていることがわかりました。
そして Arguments として link_names=1 を指定することで解決できそうだったので、早速 takosan にパッチをあてて試してみました。

link_names はドキュメント上以下のようになっています。

Find and link channel names and usernames.

after.png

うまくリンクされるようになりました!
また、Recent Mentions への表示や、通知も意図した通りに行われるようになりました。

おまけ: 通知の設定を見直そう

今回のような用途で takosan (またはその他の bot) を使う場合、通知の設定を以下のようにしておくことをお勧めします。

setting.png

詳しくは以前に私が書いた以下の記事にて。