Slack でメッセージに検索用のタグを付ける

半分ネタみたいなものですが、Slack で割と面白そうで実用的そうな使い方を見つけたのでまとめてみます。

メッセージにタグ付けするというものです。

# アイデア
以下二つを使います。

- カスタム絵文字
- メッセージ検索の `has:` フィルター
  - `:emoji_name:` を指定することで「指定したリアクション(絵文字)の付いたメッセージ」を検索できます

つまりタグ用の絵文字をあらかじめつくっておき、それをメッセージに（リアクションという形で）付与しておけば、後から `has::emoji_name:` で検索できる、というやり方です。

このようなリアクションの使い方を便宜上 **タグ絵文字** と呼ぶことにします。

# タグ絵文字を使うと何が嬉しい？
二点ほど。

## (1)Pin や Star よりも柔軟に使える
Pin は全員共有用なので個人用途では使いづらいです。また Star は一種類しか存在しないため、複数の意味を使い分けることができません。

タグ絵文字であれば個人用途で、かつ複数の種類を使い分けることができます。

## (2)ネタタグを楽しめる
ニコニコ動画でいうところの [動画タグ](http://dic.nicovideo.jp/a/%E3%82%BF%E3%82%B0) 的な使い方もできます。

# タグ絵文字の利用手順
タグ絵文字の作り方や使い方など。

## タグ絵文字を新規する
適当なメッセージ上でリアクションを付けようとすると絵文字選択画面が出ますが、ここで一番下までスクロールして add custom emoji here を見つけます。

![180730_140212_slack_add_custom_emoji_here.jpg](https://qiita-image-store.s3.amazonaws.com/0/191170/3834d3ad-66c7-2f54-b706-321b97a8c5b9.jpeg)

先に進むと以下のような登録画面が出ますので、名前と画像を登録します。

![180730_140320_slack_custom_emoji_screen.jpg](https://qiita-image-store.s3.amazonaws.com/0/191170/dc2443bf-c09e-4cb7-806d-b05d71d8a5e6.jpeg)

画像は 64KB 以内かつ 128x128 pixel 以内である必要があります。

登録したら、画面下部から登録状況を見ることができます。以下では（わかりづらいですが）青色一色で塗りつぶした絵文字を登録しています。

![180730_140340_slack_custom_tag_list.jpg](https://qiita-image-store.s3.amazonaws.com/0/191170/b9e860a7-c928-02d7-76c1-9a6ea39bc243.jpeg)

## タグ絵文字をメッセージに付与する
リアクションをつける要領でつけてください。

## タグのついたメッセージを検索する
`has:` を使います。

タグ絵文字名が `tag_stakiran_memo` なら `has::tag_stakiran_memo:` と指定します。

![180730_140536_slack_tag_emoji_use1.jpg](https://qiita-image-store.s3.amazonaws.com/0/191170/82100916-30d1-c828-eb08-99fdd665e4ad.jpeg)

入力中、マッチさせると以下のようにタグ絵文字画像に置き換わります。

![180730_140541_slack_tag_emoji_use2.jpg](https://qiita-image-store.s3.amazonaws.com/0/191170/add693c9-679c-44a8-c63c-d0ca6653d278.jpeg)


# タグ絵文字の問題点
タグ絵文字には問題点もあります。二点ほど。

## (1)誰でも追加できるのでカオスになる
カスタム絵文字は誰でも追加できるので、ルールを定めないとカオスになります。具体的には、

- タグ検索する際、目的のタグを探しづらくなる
- 絵文字ハラスメントが起きる
    - 参考: [Slackの問題点、絵文字ハラス | ロードバランスすだちくん](https://blog.animereview.jp/slack-emoji/)

などです。

## (2)メッセージの見栄えにノイズが増える
タグ絵文字はリアクションであるため、メッセージ上に普通に表示されます。

もし多数の人が多数のタグを常用していた場合、画面上がタグで入り乱れることになります。視覚的ノイズも甚だしいでしょう。

# タグ絵文字運用時に考慮すべきこと
主に問題点を解決するためにどうすればいいかという私見について書きます。

## タグ絵文字名にはフォーマットを定める
タグ絵文字の名前にルール（フォーマット）を設けることで、タグ利用時のタグ検索を用意にできます。

まず `tag` など固有ワードは含めた方が良いでしょう。例を挙げます。

```
tag_タグ名
```

また、誰が作ったのかを示したい場合は作成者の名前も含めます。例を挙げます。

```
tag_名前_タグ名
```

名前を含めるのは面倒ですが、タグ利用時に自分の名前で絞り込めるというメリットがあります。これは多人数が多数のタグを作っている時に重宝します。

名前を含めない `tag_タグ名` フォーマットですが、これはネタタグで遊びたい時に使えるでしょう。

## タグ絵文字の画像にもルールを定める
タグ絵文字として使用する画像にもルールを定める、という方法があります。

タグ絵文字が画面上で視覚的ノイズになる、という問題点を前記しましたが、使用画像にルールを定めておくとこれを軽減できます。具体的には **一目でタグだとわかる画像のみを使う**、というルールにすることです。

以下に例を挙げます。

![180730_140433_slack_tag_emoji_in_emojis.jpg](https://qiita-image-store.s3.amazonaws.com/0/191170/2e9ded8f-5b80-ae5c-4e82-d58cb403f0bf.jpeg)

ここでは **128x128 pixel の単色塗りつぶし画像** をタグとして使っています。リアクションがたくさん付いていますが、どのリアクションがタグ絵文字なのか、視覚的にわかりやすいと思います。（下手に好き勝手に画像を使われるよりは圧倒的に）読み飛ばすのが楽になります。

# おわりに
カスタム絵文字をタグとして使う、という使い方についてまとめてみました。

# 参考
- [まだStarやPinで消耗してるの？Slackはリアクション検索でキマリ！](https://techracho.bpsinc.jp/chiba-junichi/2016_09_08/25563)
  - 本記事を書くきっかけとなった記事です
- [Slackの柔軟な検索を使いこなそう！日付/チャンネル/自分宛](https://mseeeen.msen.jp/slack-search-feature/)
  - `has:` などの使い方について端的にまとめてあります
- [Slackの問題点、絵文字ハラス | ロードバランスすだちくん](https://blog.animereview.jp/slack-emoji/)
  - カスタム絵文字の運用には気をつけましょうという話です