No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

46 líneas
1.1KB

  1. {-# LANGUAGE MultiWayIf #-}
  2. {-# LANGUAGE TemplateHaskell #-}
  3. import IrcBot.IrcBot as I
  4. import IrcBot.JsonConfigDecoder
  5. import qualified Data.ByteString.Lazy as C
  6. import Data.Aeson
  7. import Data.Maybe
  8. import qualified Control.Concurrent as T
  9. import IrcBot.Definitions.Options
  10. import IrcBot.Definitions.ServerAddress
  11. import Control.Lens
  12. initWithOptions:: Maybe IOptions -> IO()
  13. initWithOptions (Just options) = do
  14. let serverAddresses = (servers options)
  15. mapM (\x -> T.forkIO (I.connectToIRCServer x)) serverAddresses
  16. print "[all threads initialized!]"
  17. initWithOptions _ = print "BAD OPTIONS JSON"
  18. mainLoop :: IO ()
  19. mainLoop = do
  20. T.threadDelay 1000000
  21. mainLoop
  22. makeLenses ''IServerAddress
  23. main :: IO ()
  24. main = do
  25. let externalVar = []
  26. output <- C.readFile ".connection.json"
  27. let options = decode output :: Maybe IOptions
  28. -- let servers = decode output :: Maybe IServerAddress
  29. initWithOptions options
  30. -- let serverAddress = fromJust serverAddressDecoded
  31. -- mapM (\x -> I.connectToIRCServer x) servers
  32. -- I.connectToIRCServer servers
  33. mainLoop
  34. print "its over"