{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} module Main where import Game.Halma.TelegramBot.CmdLineOptions import Game.Halma.TelegramBot.Controller (halmaBot) import Game.Halma.TelegramBot.Controller.BotM (evalGlobalBotM) import Game.Halma.TelegramBot.Controller.Types (BotConfig (..)) import Network.HTTP.Client (newManager) import Network.HTTP.Client.TLS (tlsManagerSettings) import qualified Options.Applicative as OA main :: IO () main = do opts <- OA.execParser optionsParserInfo manager <- newManager tlsManagerSettings let cfg = BotConfig { bcToken = boToken opts , bcOutputDirectory = boOutputDirectory opts , bcManager = manager } print opts evalGlobalBotM halmaBot cfg