Code:
alias sww dialog $iif(!$dialog(sww),-dmn,-v) sww sww
dialog sww {
  title "Bad Swear Protection"
  size -1 -1 148 167
  option dbu
  combo 1, 9 15 125 125, sort, size, vsbar
  button "Add", 2, 5 150 25 11, flat
  button "Delete", 3, 33 150 25 11, flat
  box "Enter Bad Swear Words.", 5, 5 5 135 140
  button "Ok", 7, 117 150 25 11, flat ok
  button "ON", 8, 89 150 25 11, flat
  button "OFF", 9, 61 150 25 11, flat
}

on 1:dialog:sww:sclick:8: { set %sww $+ $active 1 | echo -ta 10Swear Protection Is Now 15«4Enable15» }
on 1:dialog:sww:sclick:9: { set %sww $+ $active 0 | echo -ta 10Swear Protection Is Now 15«4Disable15» } 

on *:dialog:sww:*:*: {
  if ($devent == init) {
    did -b $dname 3
    var %x = 1
    while (%x <= $lines(sys/sww.op)) {
      did -a $dname 1 $read(sys/sww.op,%x)
      inc %x
    }
  }
  if ($devent == sclick) {
    if ($did == 1) {
      did -e $dname 3
    }
    if ($did == 2) {
      if ($did($dname,1)) {
        if (!$didwm(sww,1,$did($dname,1),0)) {
          write sys/sww.op $did($dname,1) 
          did -a $dname 1 $did($dname,1)
        }
      }
    }
    if ($did == 3) { 
      write -dw $did($dname,1).seltext sys/sww.op
      did -d $dname 1 $did($dname,1).sel
      did -b $dname 3
    }
  } 
}

on @*:text:*:#: {
  if ($nick isop #) || (!$($+(%,sww,$chan),2)) return
  var %x $strip($1-) , %i $lines(sys/sww.op)
  while (%i) {
    if ($istok(%x,$read(sys/sww.op,%i),32)) raw -q mode # +b $wildsite
    dec %i
  }
}


There may be other methods out there.