Made the Plugin monad a Reader instead of a State since it can't change.
This commit is contained in:
parent
4ec66d2ad7
commit
a8c0c85787
7 changed files with 15 additions and 22 deletions
|
@ -7,8 +7,8 @@ module Hsbot.Types
|
|||
, Env
|
||||
, Message (..)
|
||||
, Plugin
|
||||
, PluginEnv (..)
|
||||
, PluginId (..)
|
||||
, PluginState (..)
|
||||
, TLSConfig (..)
|
||||
) where
|
||||
|
||||
|
@ -39,16 +39,16 @@ data BotEnv = BotEnv
|
|||
type Bot = StateT BotState
|
||||
|
||||
data BotState = BotState
|
||||
{ botPlugins :: M.Map String (PluginState, MVar PluginState, ThreadId)
|
||||
{ botPlugins :: M.Map String (PluginEnv, ThreadId)
|
||||
, botHooks :: [Chan Message]
|
||||
, botChannels :: [String]
|
||||
, botNickname :: String
|
||||
}
|
||||
|
||||
-- The Plugin monad
|
||||
type Plugin = StateT PluginState
|
||||
type Plugin = ReaderT PluginEnv
|
||||
|
||||
data PluginState = PluginState
|
||||
data PluginEnv = PluginEnv
|
||||
{ pluginId :: PluginId
|
||||
, pluginChan :: Chan Message
|
||||
, pluginMaster :: Chan Message
|
||||
|
|
Reference in a new issue