packages feed

halma-telegram-bot-0.1.0.0: src/Main.hs

{-# 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