{- This file is part of funbot. - - Written in 2015, 2016 by fr33domlover . - - ♡ Copying is an act of love. Please copy, reuse and share. - - The author(s) have dedicated all copyright and related and neighboring - rights to this software to the public domain worldwide. This software is - distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with this software. If not, see - . -} {-# LANGUAGE OverloadedStrings #-} module FunBot.Config ( stateSaveInterval , configuration , webListenerPort , webErrorLogFile , feedErrorLogFile , feedVisitInterval , settingsFilename , memosFilename , userOptsFilename , nicksFilename , quoteDir , introInfo , welcomeDelay ) where import Data.Default.Class (def) import Data.Text (Text) import Data.Time.Interval (time) import Data.Time.Units import Network.IRC.Fun.Bot.Types import Network.IRC.Fun.Client.IO import Network.IRC.Fun.Types.Base stateSaveInterval = 3 :: Second configuration = def { cfgConnection = def { connServer = Hostname "irc.freenode.net" , connPort = PortNumber 6667 , connTls = False , connNickname = Nickname "bot_test_joe" , connPassword = Nothing } , cfgChannels = map Channel ["#freepost-bot-test"] , cfgLogDir = "state/chanlogs" , cfgStateRepo = Nothing , cfgStateFile = "state/state.json" , cfgSaveInterval = time stateSaveInterval , cfgMaxMsgChars = Just 400 } webListenerPort = 8998 :: Int webErrorLogFile = "state/web-error.log" feedErrorLogFile = "state/feed-error.log" feedVisitInterval = 5 :: Minute -- | If you set a repo path in the configuration above ('stateRepo' field), -- then this path is relative to that repo and the settings file will be -- commited to Git. Otherwise, this path is relative to the bot process working -- dir (or absolute), and Git won't be used. settingsFilename = "state/settings.json" -- | Same idea, for memos. memosFilename = "state/memos.json" -- | Same idea, for user options. userOptsFilename = "state/user-options.json" -- | Same idea, for known nickname lists. nicksFilename = "state/nicks.json" -- | Directory in which to place channel quotes. quoteDir = "state/quotes" -- | Introductory information for use by the @!intro@ command. introInfo :: Text introInfo = "Hello. I’m an instance of FunBot, written in Haskell. No other info, \ \sorry. Ask the bot maintainer to write something here." -- | How much silent time the bot waits before it considers a channel quiet and -- welcomes a new user. This is in seconds. welcomeDelay = 60 :: Int