From 884c6c9f2e3a03d6666c8dd6c6d6b6513db88ad5 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Thu, 4 Feb 2010 20:36:58 +0100 Subject: Reorganized code and types, changed slightly the architecture. --- Hsbot/Utils.hs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Hsbot/Utils.hs (limited to 'Hsbot/Utils.hs') 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 + -- cgit v1.2.3