重い処理が終わったらgoogle talkで通知する

xmpp4rでjabberプロトコルが使える。

が受信メッセージをそのままエコーするのを作ってて、参考になった。でも今回は送信だけに使う。

sudo gem install xmpp4r

ついでにrconvも入った。


xmpp4rについて


gtalk-send というファイル名でパスの通っている所に保存しておく

#!/usr/bin/ruby

require 'rubygems'
require 'xmpp4r'
require 'kconv'

user = 'your-google-account@gmail.com'
pass = 'your-password'

exit(1) if ARGV.length < 2
to = ARGV.shift
body = ARGV.shift.toutf8

puts 'sending ' + body + ' to ' + to

client = Jabber::Client.new(Jabber::JID.new(user))
client.connect('talk.google.com', 5222)
client.auth(pass)

msg = Jabber::Message.new(to, body)
client.send(msg)

ユーザ名 メッセージ で送信できる

gtalk-send hashimoto.shokai@gmail.com こんにちは


何に一番使いたいかというと、重い処理が終わったのをIMで通知したい。

sudo apt-get update ; gtalk-send hashimoto.shokai@gmail.com "アップデート終了"

; を区切りにしてメッセージ送ればいい

こんなのが来る
gtalk notice