Using isin kicks users that have the character # inside one of their words. I think $wildtok would be a wiser choice in my opinion.

Code:
on @*:TEXT:*:#mychannel: {
  if ($nick !isop $chan) && ($wildtok($strip($1-),#*,0,32)) {
    msg $chan No advertise $nick !
  }
}