Archived
1
0
Fork 0

Added plugin loading, and the most basic hook capability.

This commit is contained in:
Julien Dessaux 2011-05-01 03:11:32 +02:00
parent 7e89b50bfe
commit c497b24700
6 changed files with 68 additions and 35 deletions

View file

@ -38,7 +38,7 @@ data BotEnv = BotEnv
type Bot = StateT BotState
data BotState = BotState
{ botPlugins :: M.Map String (PluginState, MVar (), ThreadId)
{ botPlugins :: M.Map String (PluginState, MVar PluginState, ThreadId)
, botHooks :: [Chan Message]
, botChannels :: [String]
, botNickname :: String
@ -55,7 +55,7 @@ data PluginState = PluginState
data PluginId = PluginId
{ pluginName :: String
, pluginEp :: PluginState -> IO ()
, pluginEp :: Plugin (Env IO) ()
}
-- Messaging
@ -73,7 +73,7 @@ data Config = Config
, configChannels :: [String]
, configNicknames :: [String]
, configRealname :: String
, configPlugins :: [(String, Chan Message -> Chan Message -> IO ())]
, configPlugins :: [PluginId]
}
data TLSConfig = TLSConfig