HappyGoLucky

Web系サーバーサイド寄りの自動化大好きエンジニアの徒然なるブログ

slackcat で iconemoji を設定できるようにした

以前、 slackcat で Slack に分報を流すようにした。

yasuhiroki.hatenablog.com

slackcat だと投稿者のアイコンを変更できなかったので stdbuf を使って prefix を挿入していたが、よく考えたら slackcat を自分で改造して iconemoji を受け付けられるようにすれば良かった。
プルリクも出した。

github.com

ただこの実装方法だと未対応の他のオプションにも対応したくなった時、関数の引数が延々と増えてしまう未来が見える。

ひとまず、私の slack コマンドは次のようになった。
-i オプションで投稿者のアイコンを絵文字で指定できる。

#!/bin/bash

set -e

which slackcat >/dev/null || { echo "required slackcat"; exit 1; }

if [ $# -gt 0 ]; then
    echo "${*}" | slackcat -i ":yasuhiroki:" -c "${MY_SLACK_CHANNEL:-times-yasuhiroki}" -u "${MY_SLACK_USERNAME:-yasuhiroki}" --stream
else
    cat | slackcat -i ":yasuhiroki:" -c "${MY_SLACK_CHANNEL:-times-yasuhiroki}" -u "${MY_SLACK_USERNAME:-yasuhiroki}" --stream
fi