Limechatとかで検索ができなさげなので、もうbotを作ることにした。channelにfiltterをかけたchannelみたいなのってすぐに作れないもんなのかなー?
tig.rbでtwitterの発言とかはrieceのlogにたまってきている。だから、定期的にそのlogを特定userとかでgrepみたいなことしてあげればおk。RubyのIRC Botはいくつか種類があったんだけど、笹田さんが作られているnadokaさんというのがよいかなと思った。
そんなわけでRubyのスクリプト。pluginsディレクトリ以下に下のプログラムをTwitterBot.nbなどと付けて保存する。
# -*- coding: utf-8 -*- require "date" class Twitter def initialize(file_dir) @file_dir = file_dir @timelines = [] end def timeline(users) old_length = @timelines.length day = Time.now f = open(@file_dir + day.year.to_s + sprintf("%02d",day.month.to_s) + sprintf("%02d",day.day.to_s) + ".txt.mule-utf-8") f.each {|line| if users.any?{|user|line.index(user)} @timelines.push line end } f.close @timelines = @timelines.uniq return @timelines[old_length..@timelines.length] end end class TwitterBot < Nadoka::NDK_Bot def bot_initialize @ch = @bot_config[:ch] @users = @bot_config[:users] @twitter = Twitter.new(@bot_config[:file_dir]) end def on_timer t @twitter.timeline(@users).each{|tl| send_privmsg(@ch,tl) #連投しすぎると怒られて、追い出される時があるから sleep 1 } end end
とりあえずこれでRubyの俺俺botは書けるようになったから、変なの作りまくろう(ぉ