X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Fseen.rb;h=529fdf8695f3d3125c858f13c6400e601040d3bb;hb=16336b4a240a4265d1f2df1e30d7b68d3a924287;hp=078ed94a48d779fde78d9e8619112c60dc70086f;hpb=eec8d96e5c8f0c44148cc97a40b75a57e399cf6e;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/seen.rb b/data/rbot/plugins/seen.rb index 078ed94a..529fdf86 100644 --- a/data/rbot/plugins/seen.rb +++ b/data/rbot/plugins/seen.rb @@ -92,20 +92,50 @@ class SeenPlugin < Plugin case saw.type.to_sym when :PUBLIC - ret << "saying #{saw.message}" + ret << "saying \"#{saw.message}\"" when :ACTION ret << "doing #{saw.nick} #{saw.message}" when :NICK ret << "changing nick from #{saw.nick} to #{saw.message}" when :PART ret << "leaving #{saw.where}" + ret << " (#{saw.message})" unless saw.message.empty? when :JOIN ret << "joining #{saw.where}" when :QUIT ret << "quitting IRC (#{saw.message})" when :TOPIC - ret << "changing the topic of #{saw.where} to #{saw.message}" + ret << "changing the topic of #{saw.where} to \"#{saw.message}\"" end + + case saw.type.to_sym + when :PART, :QUIT + before = reg.first + if before.type == "PUBLIC" || before.type == "ACTION" + time_diff = saw.time - before.time + if time_diff < 300 + time = "a moment" + elsif time_diff < 3600 + time = "a while" + else + return ret + end + + ret << ' and %{time} before' % { :time => time } + + if before.type == "PUBLIC" + ret << ' saying "%{message}"' % { + :message => before.message + } + elsif before.type == "ACTION" + ret << ' doing *%{message}*' % { + :nick => saw.nick, + :message => before.message + } + end + end + end + return ret end def store(m, saw)