ターミナルから簡単にSlackに投稿するエイリアス
Slack Bash Terminal alias bashrc
実行結果
ソースコード
メッセージをURLエンコードをかけ、curlにてslackに投稿する。
function param-url-encode() { local input="${1}" local output="" local i=0 for (( i=0 ; i<${#input} ; i++ )); do local o="" local c=${input:$i:1} case "$c" in [-_.~a-zA-Z0-9] ) o="${c}" ;; * ) printf -v o '%%%02x' "'$c" esac output+=$o done echo $output } function post-slack(){ local token="xoxp-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ##Slackのアクセストークン local message=`param-url-encode $3` ##メッセージをURLエンコード curl -w "%{http_code}\n" "https://slack.com/api/chat.postMessage?token=${token}&channel=${1}&username=${2}&text=${message}" ##curlで送信する } alias post-slack=post-slack
エイリアスの導入方法
エイリアスの使用例
$ post-slack general username message #post-slack チャンネル ユーザー名 メッセージ {"ok":true,"channel":"C0R3AKR8","ts":"149087635.112142","message":{"text":"message","username":"username","bot_id":"B4DCDQML","type":"message","subtype":"bot_message","ts":"149076935.112142"}}200