remap ::
  IrcMsg -> MessageResult

remap (Notice (Source (UserInfo u "" "") _) _ msg)
  | Just msg1 <- Text.stripPrefix "*** Notice -- " msg
  , let msg2 = Text.filter (\x -> x /= '\x02' && x /= '\x0f') msg1
  , Just (lvl, cat) <- characterize msg2
  = if lvl < 1 then OmitMessage
               else RemapMessage (Notice (Source (UserInfo u "" "*") "") cat msg1)
remap ::
  IrcMsg -> MessageResult
remap (Notice (Source (UserInfo u "" "") _) _ msg)
  | Just msg1 <- Text.stripPrefix "*** Notice -- " msg
  , let msg2 = Text.filter (\x -> x /= '\x02' && x /= '\x0f') msg1
  , Just (lvl, cat) <- characterize msg2
  = if lvl < 1 then OmitMessage
               else RemapMessage (Notice (Source (UserInfo u "" "*") "") cat msg1)
remap (Notice (Source (UserInfo u "" "") _) _ msg)
  | Just msg1 <- Text.stripPrefix "*** Notice -- " msg
  , let msg2 = Text.filter (\x -> x /= '\x02' && x /= '\x0f') msg1
  , Just (lvl, cat) <- characterize msg2
  = if lvl < 1 then OmitMessage
               else RemapMessage (Notice (Source (UserInfo u "" "*") "") cat msg1)