X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=data%2Frbot%2Fplugins%2Fseen.rb;h=717721e290d959f63139c5a55bf19066156511c1;hb=052217de30c59206d7025b582d4604557a747470;hp=4c9fa94e31b6fa0cfbee98000dcf26ff5503fe9c;hpb=d7cdc2a5ba4c3c54166d6bda982334dbc4e7de00;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/seen.rb b/data/rbot/plugins/seen.rb index 4c9fa94e..717721e2 100644 --- a/data/rbot/plugins/seen.rb +++ b/data/rbot/plugins/seen.rb @@ -30,6 +30,9 @@ class SeenPlugin < Plugin Config.register Config::IntegerValue.new('seen.max_results', :default => 3, :validate => Proc.new{|v| v >= 0}, :desc => _("Maximum number of seen users to return in search (0 = no limit).")) + Config.register Config::ArrayValue.new('seen.ignore_patterns', + :default => [ "^no u$" ], + :desc => _("Strings/regexes that you'd like to ignore for 'last message' purposes")) def help(plugin, topic="") _("seen => have you seen, or when did you last see ") @@ -67,6 +70,10 @@ class SeenPlugin < Plugin case m when PrivMessage return if m.private? + @bot.config['seen.ignore_patterns'].each { |regex| + return if m.message =~ /#{regex}/ + } + type = m.action? ? 'ACTION' : 'PUBLIC' store m, Saw.new(m.sourcenick.dup, now, type, m.target.to_s, m.message.dup) @@ -125,6 +132,9 @@ class SeenPlugin < Plugin if before && [:PART, :QUIT].include?(saw.type.to_sym) && [:PUBLIC, :ACTION].include?(before.type.to_sym) + # TODO see chan_privacy + prev_chan_privacy = false + prev_where = prev_chan_privacy ? _(CHANPRIV_CHAN) : before.where did_before = case before.type.to_sym when :PUBLIC _(msg_privacy ? MSGPRIV_MSG_PUBLIC : MSG_PUBLIC) @@ -133,7 +143,7 @@ class SeenPlugin < Plugin end % { :nick => saw.nick, :message => before.message, - :where => where + :where => prev_where } format = :with_before