MSNボット - ログインログ
30分プログラム、その235。MSNメッセンジャーで、誰が何時にログインしたかを記録するボット。
本当は、Ruburpleを改造して、表示名を変更できるようにしてやるぜー、と思ってたけれどPidgin API リファレンスが落ちているので断念。で、手軽にできそうなボットを作ってみた。
そのうち、もっと構造化して簡単にボットを追加できるようにしたいな。あと、サーバで動かせるようにしないと。
使い方
$ ruby msn-log.rb Mon Feb 04 22:36:22 +0900 2008 xxx@hotmail.com sign on Mon Feb 04 22:37:12 +0900 2008 xxx@hotmail.com sign off Mon Feb 04 22:37:59 +0900 2008 xxx@hotmail.com sign on ...
ソースコード
#! /opt/local/bin/ruby -w # -*- mode:ruby; coding:utf-8 -*- # # msn.rb - # # Copyright(C) 2008 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Timestamp: 2008/02/03 21:22:31 # # This program is free software; you can redistribute it and/or # modify it under MIT Lincence. # require 'ruburple' Ruburple::init module Ruburple def self.observe(event,&proc) self.subscribe(event,proc) end end Ruburple.observe(:buddy_signed_on){|buddy| puts "#{Time.now}\t#{buddy.name}\tsign on" } Ruburple.observe(:buddy_signed_off){|buddy| puts "#{Time.now}\t#{buddy.name}\tsign off" } protocol = Ruburple::get_protocol 'MSN' account = protocol.get_account 'username','password' account.connect trap(:INT){ account.connection.close exit 1 } loop{ sleep 1 }