Note: For this to work correctly, the client running the code must join the channel(s) after the code is installed.
Code:
on *:join:#:{
  if $nick == $me {
    var %a = 1, %b = $nick($chan,0,oh)
    while %a <= %b {
      set $+(%,ohnotice,$network,.,$chan) $addtok($($+(%,ohnotice,$network,.,$chan),2),$nick($chan,%a,oh),44)
      inc %a
    }
  }
  else {
    var %ohchan = $chan
    .enable #ohnotice
    .whois $nick
  }
}
#ohnotice off
raw 318:*:{
  .disable #ohnotice
  haltdef
}
raw 319:*:{
  .notice $($+(%,ohnotice,$network,.,%ohchan),2) $2 is also $3-
  haltdef
}
#ohnotice end
on *:op:#:{
  set $+(%,ohnotice,$network,.,$chan) $addtok($($+(%,ohnotice,$network,.,$chan),2),$opnick,44)
}
on *:help:#:{
  set $+(%,ohnotice,$network,.,$chan) $addtok($($+(%,ohnotice,$network,.,$chan),2),$hnick,44)
}
on *:deop:#:{
  set $+(%,ohnotice,$network,.,$chan) $remtok($($+(%,ohnotice,$network,.,$chan),2),$opnick,1,44)
}
on *:dehelp:#:{
  set $+(%,ohnotice,$network,.,$chan) $remtok($($+(%,ohnotice,$network,.,$chan),2),$hnick,1,44)
}
on *:quit:{
  set $+(%,ohnotice,$network,.,$chan) $remtok($($+(%,ohnotice,$network,.,$chan),2),$nick,1,44)
}
on *:part:#:{
  set $+(%,ohnotice,$network,.,$chan) $remtok($($+(%,ohnotice,$network,.,$chan),2),$nick,1,44)
}
on *:kick:#:{
  set $+(%,ohnotice,$network,.,$chan) $remtok($($+(%,ohnotice,$network,.,$chan),2),$knick,1,44)
}