While that looks like it would work, if you had a lot of items in the hash table, you could find yourself being disconnected from the server for flooding.

Here's an alternative.
Code:
on *:text:*:#Chan:{
  if $1 == !fliters {
    .hsave -n blah blah.tmp
    .play -q10 $nick blah.tmp
  }
  elseif $1 == !active {
    say - Script is %switch $nick
  }
}