【この記事を読むのに必要な時間は約 2 分です】
開発者に限らず一般へも普及し始めた Slack ですが、アット記法は直感的でなく少しわかりにくいことがあると感じています。
たとえば同じチャネルに属しているメンバーに話しかけるとき、何を使ってますか?@channel ですか?@here ですか?何が違うの、といった方も多いので違いをまとめてみましょう。
多数に呼びかける場合の@の使い方
@channel
発言するチャネル内のすべてのメンバーに対して通知を送ります。
メンバーのアクティブ状態に関わらず通知を送るため、今は見れないかもしれないけど、必ず見てほしい場合にはこれ。
@here
発言するチャネル内のすべてのアクティブメンバーに対して通知を送ります。
@channel との違いは非アクティブなメンバーには送られない、ということだけ。
@everyone
#general (全ユーザが強制的に参加しているチャネル) に通知を送ります。
全ユーザに対してアクティブ状態に関わらず通知を送るため、最も強いコメントを送ることができます。チャネル内で発言したとしても、チャネル内と # general に両方通知が送られます。
まとめ
@here と @channel はアクティブユーザにのみ通知したいかどうか、で使い分けることになります。
@everyone は全ユーザに必ず通知したい場合を除いであまり使わない方がよいでしょう。これを大したコメントでもないのに多用されるとかなり鬱陶しいことになってしまいます。