I want messages (in the chat or event area) to be filtered on client side.
Best (and most difficult) would be to filter it by type:
Every output gets a type like "chat", "teamchat", "tell", "echo", "vote", "kill" or "score". The user can set local vars to control the output. For example like filter="vote,teamchat,tell,score" to set what to show or hide and filter_is_blacklist=1 to invert the matching.
Second best would be to filter by POSIX regular expression or simple string matching:
Again the user can set local vars to control the output. For example like filter="tells you|calls a vote|fragged" to set the pattern, filter_type="regexp" to select between possible types of matching and filter_invert=1 to invert matching.
There may be an alternative way to do that, if there would be a command to delay execution of an alias without blocking all other user commands.
If a command like that would be present, please tell me, because I could use it to start a self refernecing alias as a loop that dumps messages to be filtered by an external program. The external program could write a script echoing messages in a special way and the loop alias could execute this script.
Anyways, I am concerned about memory consumption of self referencing aliases; this seems to be recursive after all ...