Slackのチャンネルにリンクを貼りたいと思ったことはありませんか?僕はあります。
以下のようにチャンネルメニューを開いて「リンクをコピー」を選択することで、チャンネルのURLを取得することができるんですね。
チャンネルURLは https://{your_workspace_name}.slack.com/archives/{channel_id}
のような形で得られます。例えば、 https://example.slack.com/archives/C03CFUDH2MU
のような感じですね。IDの部分はランダムな英数字が入っているので、URLだけ見てもどのチャンネルへのリンクか分かりません。
実は、これ以外のURLでもチャンネルへのリンクを実現することができます。 https://{your_workspace_name}.slack.com/archives/{channel_name}
のように、IDが入っていた部分にそのままチャンネル名を入れてあげればOKです。#random
チャンネルなら https://example.slack.com/archives/random
といった具合ですね。チャンネル名を変えてしまったときにリンク切れになってしまいますが、IDのものよりは分かりやすいURLが得られました。
ここまでの話を読んで、気になることはありませんか?
そうです。channel IDと同名のチャンネルが存在する場合どうなるんでしょうか。channel idが入る場合もチャンネル名が入る場合もURLの構造がまるっきり同じなんですよね。
実際にやってみた
結論を言うと、Slackのチャンネル名には大文字の英字は利用できませんでした。大文字を入力しようとしても無理やり小文字に直されます。この制約によって、URLのパスに含まれる文字列がchannel IDなのかそれともチャンネル名なのか区別できるという訳ですね。