# File rbot/plugins/seen.rb, line 23
  def listen(m)
    # keep database up to date with who last said what
    if m.kind_of?(PrivMessage)
      return if m.private? || m.address?
      if m.action?
        @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "ACTION", 
                                          m.target, m.message.dup)
      else
        @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "PUBLIC",
                                          m.target, m.message.dup)
      end
    elsif m.kind_of?(QuitMessage)
      @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "QUIT", 
                                        nil, m.message.dup)
    elsif m.kind_of?(NickMessage)
      @registry[m.message] = Saw.new(m.sourcenick.dup, Time.new, "NICK", 
                                        nil, m.message.dup)
      @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "NICK", 
                                        nil, m.message.dup)
    elsif m.kind_of?(PartMessage)
      @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "PART", 
                                        m.target, m.message.dup)
    elsif m.kind_of?(JoinMessage)
      @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "JOIN", 
                                        m.target, m.message.dup)
    elsif m.kind_of?(TopicMessage)
      @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "TOPIC", 
                                        m.target, m.message.dup)
    end
  end