h-irc-bot/app/Main.hs

42 lines
997 B
Haskell
Raw Normal View History

2019-12-04 02:49:16 -05:00
{-# LANGUAGE MultiWayIf #-}
import IrcBot.IrcBot as I
import IrcBot.JsonConfigDecoder
import qualified Data.ByteString.Lazy as C
import Data.Aeson
import Data.Maybe
import qualified Control.Concurrent as T
initWithOptions:: Maybe IOptions -> IO()
initWithOptions (Just options) = do
let serverAddresses = (servers options)
mapM (\x -> T.forkIO (I.connectToIRCServer x)) serverAddresses
print "[all threads initialized!]"
initWithOptions _ = print "BAD OPTIONS JSON"
mainLoop :: IO ()
mainLoop = do
T.threadDelay 1000000
mainLoop
main :: IO ()
main = do
let externalVar = []
output <- C.readFile ".connection.json"
let options = decode output :: Maybe IOptions
-- let servers = decode output :: Maybe IServerAddress
initWithOptions options
-- let serverAddress = fromJust serverAddressDecoded
-- mapM (\x -> I.connectToIRCServer x) servers
-- I.connectToIRCServer servers
mainLoop
print "its over"