diff options
Diffstat (limited to 'fig-monitor-irc/src/Fig/Monitor/IRC.hs')
| -rw-r--r-- | fig-monitor-irc/src/Fig/Monitor/IRC.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fig-monitor-irc/src/Fig/Monitor/IRC.hs b/fig-monitor-irc/src/Fig/Monitor/IRC.hs index 116a490..67554b3 100644 --- a/fig-monitor-irc/src/Fig/Monitor/IRC.hs +++ b/fig-monitor-irc/src/Fig/Monitor/IRC.hs @@ -4,6 +4,8 @@ module Fig.Monitor.IRC where import Fig.Prelude +import Control.Monad (unless) + import Data.Functor ((<&>)) import qualified Data.Text as Text import qualified Data.ByteString.Base64 as BS.Base64 @@ -89,7 +91,8 @@ ircBot cfg busAddr = do | ev == [sexp|(monitor irc chat outgoing)|] , Right user <- decodeUtf8 <$> BS.Base64.decodeBase64 (encodeUtf8 euser) , Right msg <- decodeUtf8 <$> BS.Base64.decodeBase64 (encodeUtf8 emsg) -> do - Chan.writeChan outgoing OutgoingMessage { chan, user, msg = msg } + unless (user `elem` (["fabius"] :: [Text])) do + Chan.writeChan outgoing OutgoingMessage { chan, user, msg = msg } _ -> log $ "Invalid outgoing message: " <> tshow d ) (pure ()) |
