URL 日本語でおk


たまにこういう日本語URLがチャットに貼られて、URLエンコードされていて何がなんだかわからない事があったので対策した。
hubotが日本語に戻してくれる。

そもそもブラウザのURL欄からコピーしたら自動的にエンコードしてくれるのは何でなんだろう、この自動変換があるので日本語ドメイン名とか取る気にならない。



decode-encoded-url.coffee


# Description:
# encodeされたURLを日本語に戻す
#
# Author:
# @shokai

module.exports = (robot) ->

robot.hear /(https?:\/\/[^ ]+)/i, (msg) ->

who = msg.message.user.name
url = msg.match[1]
url_decoded = decodeURI url
return if url is url_decoded
url = url_decoded.replace /[ <>]/g, (c) -> encodeURI c
msg.send "@#{who} 日本語でおk\n#{url}"

スペースと、<と>があるとSlackのURLの自動リンクが付かないのでデコードした後に再コードしてる。