LoginSignup
2

More than 5 years have passed since last update.

chatworkにメッセージを送るワンライナーとrubyスクリプト

Last updated at Posted at 2018-03-06

環境変数のAPI_KEYにチャットワークのAPIが入っている前提です。
export API_KEY=XXXXXXとか実行してください。
ルーム番号とメッセージは適宜書き換えてください。

ワンライナー

curl -X POST -H "X-ChatWorkToken: $API_KEY" -d "body=`ruby -e 'require "cgi";print CGI.escape("メッセージ")'`" "https://api.chatwork.com/v2/rooms/ルーム番号/messages"

rubyスクリプト

./chatwork.rb ルーム番号 "メッセージ"

chatwork.rb
#!/usr/bin/env ruby

require 'net/https'

def post_chatwork_api(room_id, message)
  url = "https://api.chatwork.com/v2/rooms/#{room_id}/messages"
  uri = URI.parse(url)
  https = Net::HTTP.new(uri.host, uri.port)
  https.use_ssl = true # HTTPSでよろしく
  request = Net::HTTP::Post.new(uri.request_uri)
  request.add_field "X-ChatWorkToken", ENV["API_KEY"]
  request.set_form_data :body => message
  response = https.request(request)
  puts response.body
end

post_chatwork_api ARGV[0], ARGV[1]

API_KEYの取得方法 

チャットワークAPIは APIトークン発行ページから取得できます。

ルーム番号のとり方

ルーム番号.png

該当するルームのチャットの発言でメッセージにある「リンク」をクリックすると出て来る
https://www.chatwork.com/#!ridNNNNNNN-XXXXXXXXXXXXXX
にある、ridと-の間の所がルームIDです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2