diff options
Diffstat (limited to '')
-rw-r--r-- | Hsbot/Utils.hs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Hsbot/Utils.hs b/Hsbot/Utils.hs new file mode 100644 index 0000000..640d16f --- /dev/null +++ b/Hsbot/Utils.hs @@ -0,0 +1,33 @@ +module Hsbot.Utils + ( inColor + , sendstr + , trace + , traceM + ) where + +import Control.Monad.State +import Data.List +import System.IO + +import Hsbot.Types + +-- |Wrap a string with ANSI escape sequences. +inColor :: String -> [Int] -> String +inColor str vals = "\ESC[" ++ valstr ++ "m" ++ str ++ "\ESC[0m" + where valstr = concat $ intersperse ";" $ map show vals + +-- | Sends a string over handle +sendstr :: String -> IrcBot () +sendstr str = do + handle <- gets botHandle + traceM $ inColor ("--> " ++ str) [33] + liftIO $ hPutStr handle (str ++ "\r\n") + +-- | Log a message string +trace :: String -> IO () +trace msg = putStrLn msg + +-- | Log a message string +traceM :: String -> IrcBot () +traceM msg = liftIO $ putStrLn msg + |