Wrote the ping pong stuff
This commit is contained in:
parent
2f270f8bdf
commit
14f87adb8b
3 changed files with 28 additions and 2 deletions
|
@ -2,6 +2,9 @@ module Hsbot.Main
|
|||
( imain
|
||||
) where
|
||||
|
||||
import Control.Concurrent
|
||||
import Control.Concurrent.Chan
|
||||
import Control.Monad
|
||||
import System.IO
|
||||
import System.Plugins
|
||||
|
||||
|
@ -18,9 +21,18 @@ imain modul' reboot = imain' modul' reboot newbot
|
|||
-- | Bot's main entry point
|
||||
imain' :: Module -> Reboot -> Bot -> IO ()
|
||||
imain' modul' reboot bot = do
|
||||
putStrLn "yeah"
|
||||
putStrLn "Connecting servers..."
|
||||
servers' <- mapM connectServer (ircServers C.config)
|
||||
putStrLn "Joining channels..."
|
||||
mapM_ initServer servers'
|
||||
return ()
|
||||
|
||||
-- | Thread entry point for socket listeners
|
||||
listener :: (Chan IrcOutput) -> (IrcServer, Handle) -> IO ()
|
||||
listener chan (server, handle) = forever $ do
|
||||
str <- hGetLine handle
|
||||
writeChan chan (Str str)
|
||||
if ping str then pong handle str
|
||||
else return ()
|
||||
|
||||
|
|
Reference in a new issue