Added db name argument to the duck module.
This commit is contained in:
parent
98ff94bfa8
commit
619fbe9756
1 changed files with 8 additions and 3 deletions
|
@ -2,6 +2,7 @@
|
||||||
-- | This module is an IRC plugin that generates and kills ducks
|
-- | This module is an IRC plugin that generates and kills ducks
|
||||||
module Hsbot.Plugin.Duck
|
module Hsbot.Plugin.Duck
|
||||||
( DuckArgs (..)
|
( DuckArgs (..)
|
||||||
|
, defaultDuckArgs
|
||||||
, duck
|
, duck
|
||||||
, theDuck
|
, theDuck
|
||||||
) where
|
) where
|
||||||
|
@ -52,17 +53,21 @@ $(makeAcidic ''StatDB ['getDuckStats, 'updateScore])
|
||||||
duck :: PluginId
|
duck :: PluginId
|
||||||
duck = PluginId
|
duck = PluginId
|
||||||
{ pluginName = "duck"
|
{ pluginName = "duck"
|
||||||
, pluginEp = theDuck DuckArgs { duckChannel = "", duckFreq = 10 } }
|
, pluginEp = theDuck defaultDuckArgs }
|
||||||
|
|
||||||
data DuckArgs = DuckArgs
|
data DuckArgs = DuckArgs
|
||||||
{ duckChannel :: String
|
{ duckChannel :: String
|
||||||
|
, duckDbName :: String
|
||||||
, duckFreq :: Int }
|
, duckFreq :: Int }
|
||||||
|
|
||||||
|
defaultDuckArgs :: DuckArgs
|
||||||
|
defaultDuckArgs = DuckArgs { duckChannel = "", duckDbName = "duckDB", duckFreq = 7200 }
|
||||||
|
|
||||||
-- | An IRC plugin that generates and kills ducks
|
-- | An IRC plugin that generates and kills ducks
|
||||||
theDuck :: DuckArgs -> Plugin (Env IO) ()
|
theDuck :: DuckArgs -> Plugin (Env IO) ()
|
||||||
theDuck (DuckArgs channel seconds) = do
|
theDuck (DuckArgs channel dbName seconds) = do
|
||||||
baseDir <- liftIO $ System.Environment.XDG.BaseDir.getUserDataDir "hsbot"
|
baseDir <- liftIO $ System.Environment.XDG.BaseDir.getUserDataDir "hsbot"
|
||||||
statDB <- liftIO $ openLocalStateFrom (baseDir ++ "/duckDB/") emptyStatDB
|
statDB <- liftIO $ openLocalStateFrom (baseDir ++ "/" ++ dbName ++ "/") emptyStatDB
|
||||||
ducksMVar <- liftIO newEmptyMVar
|
ducksMVar <- liftIO newEmptyMVar
|
||||||
timeMVar <- liftIO $ newMVar seconds
|
timeMVar <- liftIO $ newMVar seconds
|
||||||
duckSpawner channel seconds ducksMVar
|
duckSpawner channel seconds ducksMVar
|
||||||
|
|
Reference in a new issue