ターミナルから1行打つだけで、Chatworkにメッセージが飛ぶ。
cw post rooms 12345678 messages 'body=バックアップ完了しました'
これだけ。ブラウザを開かない。ルームを探さない。入力欄をクリックしない。
Web画面でやると「ブラウザを開く → ルームを選ぶ → メッセージを書く → 送信ボタンを押す」の4ステップ。それが1行になる。しかもスクリプトに組み込める。cronに仕込める。
今回紹介するのは、Go製のCLIツール chatwork-cli(arai-ta/chatwork-cli)。
Go環境の準備(5分で終わる)
Macなら一瞬。
brew install go
go version
# go version go1.22.x darwin/arm64
~/go/bin がPATHに通っていることを確認。
echo $PATH | tr ':' '\n' | grep go
含まれていなければ .zshrc に追記。
export PATH="$HOME/go/bin:$PATH"
インストール
go install github.com/arai-ta/chatwork-cli/cmd/cw@latest
cw --help
APIトークンの設定
方法1: 設定ファイル
cat <<'EOF' > ~/.chatwork.yml
token: "YOUR_CHATWORK_API_TOKEN"
EOF
chmod 600 ~/.chatwork.yml
方法2: 環境変数 + alias
alias cw='CW_API_TOKEN=YOUR_TOKEN ~/go/bin/cw'
基本コマンド
cw get me # 自分の情報
cw get rooms # ルーム一覧
cw get rooms 12345678 messages # メッセージ取得
cw post rooms 12345678 messages 'body=テスト' # メッセージ送信
Chatwork記法も使える。
cw post rooms 12345678 messages 'body=[info][title]テスト通知[/title]CLIからの送信です[/info]'
実用例3つ
1. cronで毎朝の定時連絡
#!/bin/bash
ROOM_ID="12345678"
MESSAGE="おはようございます。本日もよろしくお願いいたします。"
cw post rooms "$ROOM_ID" messages "body=$MESSAGE"
0 9 * * 1-5 /path/to/morning_greeting.sh
2. バックアップ完了をChatworkに通知
#!/bin/bash
BACKUP_DIR="/path/to/backup"
ROOM_ID="12345678"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M')
tar czf "$BACKUP_DIR/backup_$(date +%Y%m%d).tar.gz" /path/to/data
if [ $? -eq 0 ]; then
BODY="[info][title]バックアップ完了[/title]${TIMESTAMP} に正常完了[/info]"
else
BODY="[info][title]⚠ バックアップ失敗[/title]${TIMESTAMP} にエラー発生[/info]"
fi
cw post rooms "$ROOM_ID" messages "body=$BODY"
3. GitHub Actionsからデプロイ通知
- name: Notify Chatwork
run: |
go install github.com/arai-ta/chatwork-cli/cmd/cw@latest
BODY="[info][title]デプロイ完了[/title]${{ github.repository }} の ${{ github.ref_name }} がデプロイされました[/info]"
cw post rooms "${{ secrets.CW_ROOM_ID }}" messages "body=$BODY"
env:
CW_API_TOKEN: ${{ secrets.CW_API_TOKEN }}
curlと何が違うか
curl:
curl -s -X POST -H "X-ChatWorkToken: $TOKEN" -d "body=テスト" "https://api.chatwork.com/v2/rooms/12345678/messages"
chatwork-cli:
cw post rooms 12345678 messages 'body=テスト'
1行の可読性が違う。スクリプトに10箇所書くなら、短い方がメンテしやすい。
ハマりポイント
GOPATHが通っていない。 go install は成功するのに cw が見つからない。PATHに ~/go/bin を追加すれば解決。
メッセージにシングルクォート。 body=It's done はシェルが解釈してしまう。ダブルクォートで囲む。
まとめ
chatwork-cliを入れると、Chatworkが「ブラウザで開くもの」から「コマンドで叩くもの」に変わる。Go環境があれば5分で動く。Web画面の4クリックが1行になる。
Chatworkシリーズ
- #1 なぜ2026年にまだChatworkを使い倒しているのか
- #2 chatwork-client-gas、ぶっちゃけいるの?
- #3 ルームの参加者データだけで、組織の人間関係マップを作った
- #4 「Chatworkに確定連絡が来たら請求書を送る」をGASで自動化する
- #5 Chatwork MCPを繋いだら、17ルームの未読が10秒で片付いた
- #6 MCP vs GAS — Chatwork自動化の「正解」はどっちか
- #7 コンタクト承認をn8nで自動化しようとしたら、3つの罠にハマった
- #8 ChatworkにAIチームを住まわせたら、勝手に会話が始まった
- #9 Chatwork 8ルームの全メッセージからFAQ429件を自動抽出した
- #10 Webhook署名検証を入れたら全メッセージが消えた
- #11 過去メッセージを全件取得しようとしたら、APIの「100件の壁」にハマった
- #12 Chatwork APIの「既読」は自分で制御できる
- #13 Chatwork APIのファイル機能、使ったことある?
- #14 n8nで全ルーム巡回
- #15 タスク機能をAPIで使い倒す
- #16 MCPを2アカウント同時接続したら、仕事用と事務局用が1画面で回った
- #17 【世界初かもしれない】ChatworkでClaude Code Channelsを実装してみた
- #18 Chatwork × Dify × GASで問い合わせ回答を自動提案する
- #19 RelationMapを夜間バッチで毎日自動更新する
- #20 17記事書いて見えた、Chatwork APIエコシステムに足りないもの
- #21 Googleフォームの回答をChatworkに自動投稿するGAS
- #22 Chatworkの会話を毎日AIが要約してくれる仕組みをn8nで作った話
- #23 chatwork-cliを入れたら、シェルからChatworkが操作できて世界が変わった(この記事)
- #24 ChatworkのWebhookをn8nで受けるなら、HMAC署名検証は必ずやれ
Chatworkシリーズ
- #1 なぜ2026年にまだChatworkを使い倒しているのか
- #2 chatwork-client-gas、ぶっちゃけいるの?
- #3 ルームの参加者データだけで、組織の人間関係マップを作った
- #4 「Chatworkに確定連絡が来たら請求書を送る」をGASで自動化する
- #5 Chatwork MCPを繋いだら、17ルームの未読が10秒で片付いた
- #6 MCP vs GAS — Chatwork自動化の「正解」はどっちか
- #7 コンタクト承認をn8nで自動化しようとしたら、3つの罠にハマった
- #8 ChatworkにAIチームを住まわせたら、勝手に会話が始まった
- #9 Chatwork 8ルームの全メッセージからFAQ429件を自動抽出した
- #10 Webhook署名検証を入れたら全メッセージが消えた
- #11 過去メッセージを全件取得しようとしたら、APIの「100件の壁」にハマった
- #12 Chatwork APIの「既読」は自分で制御できる
- #13 Chatwork APIのファイル機能、使ったことある?
- #14 n8nで全ルーム巡回
- #15 タスク機能をAPIで使い倒す
- #16 MCPを2アカウント同時接続したら、仕事用と事務局用が1画面で回った
- #17 【世界初かもしれない】ChatworkでClaude Code Channelsを実装してみた
- #18 Chatwork × Dify × GASで問い合わせ回答を自動提案する
- #19 RelationMapを夜間バッチで毎日自動更新する
- #20 17記事書いて見えた、Chatwork APIエコシステムに足りないもの
- #21 Googleフォームの回答をChatworkに自動投稿するGAS
- #22 Chatworkの会話を毎日AIが要約してくれる仕組みをn8nで作った話
- #23 chatwork-cliを入れたら、シェルからChatworkが操作できて世界が変わった(この記事)
- #24 ChatworkのWebhookをn8nで受けるなら、HMAC署名検証は必ずやれ
- #25 Chatwork × GAS × Claude Codeで会員制講座の運用を自動化した