On Thu, 2003-11-27 at 13:34, Jeff Warnica wrote:
Unless I wanted to hack up that subsystem so that the choices a moderator had were based on how the message got there, I guess its just a matter of having another canned error message. Its not much of a difference either way as far as code goes.
Oh, let me add a few other things...
I would implement a Handler module with a fairly generic class in it. The class has a method that accepts a message, and returns the message with some spam header added. I believe SA has a client/server interface to it, and I know SB does, so this method would probably be fairly similar for both systems (specialize it by derivation and overriding of this method).
Then, in the handler module, you could instantiate zero or more instances of this class (say if you wanted both SB and SA) and define some ordering, probably via an mm_cfg variable. Now, the handler module exposes a process() method that's basically a shim to pass the message to the filter method of each of the above instantiated classes.
From here, the regexp matching bit I talked about earlier would simply match on the header added by SA or SB, and then take the action.
-Barry