I don't know what I'm supposed to be looking at dude, it seems to work for me.

[13:04] <Testing> !test test test
[13:04] <Andy> test test
[13:04] <Testing> !test test test
[13:04] <Testing> !test test2 test2
[13:04] <Andy> test2 test2
[13:04] <Testing> !test test2 test2

If the item exists it wont msg the channel with $2 and $3.

Code:
on *:TEXT:!test *:#testa: { 
  if (!$3) {
    halt
  }
  else {
    if (!$hget(ech0-prechan,$2)) { 
      hadd -mu900 ech0-prechan $2 .
      msg #testa $2 $3
    }
  }
} 


-Andy