diff options
author | Julien Dessaux | 2011-08-08 11:39:41 +0200 |
---|---|---|
committer | Julien Dessaux | 2011-08-08 11:39:41 +0200 |
commit | 1c8cab09cb00abc3e3a0ee2e4a2d7bd6cf703d2f (patch) | |
tree | 0e580504f8cd421bf8619cf59c9dd46997a4b7b2 /Hsbot/Types.hs | |
parent | Updated TODO list (diff) | |
download | hsbot-1c8cab09cb00abc3e3a0ee2e4a2d7bd6cf703d2f.tar.gz hsbot-1c8cab09cb00abc3e3a0ee2e4a2d7bd6cf703d2f.tar.bz2 hsbot-1c8cab09cb00abc3e3a0ee2e4a2d7bd6cf703d2f.zip |
Added access controls to hsbot.
Diffstat (limited to '')
-rw-r--r-- | Hsbot/Types.hs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Hsbot/Types.hs b/Hsbot/Types.hs index 7e340e3..8f84482 100644 --- a/Hsbot/Types.hs +++ b/Hsbot/Types.hs @@ -1,5 +1,7 @@ module Hsbot.Types - ( Bot + ( AccessList (..) + , AccessRight (..) + , Bot , BotState (..) , BotStatus (..) , BotEnv (..) @@ -40,6 +42,7 @@ type Bot = StateT BotState data BotState = BotState { botPlugins :: M.Map String (PluginEnv, ThreadId) + , botAccess :: [AccessList] , botHooks :: [Chan Message] , botChannels :: [String] , botNickname :: String @@ -71,12 +74,20 @@ data Config = Config , configTLS :: TLSConfig , configAddress :: String , configPort :: PortID + , configAccess :: [AccessList] , configChannels :: [String] , configNicknames :: [String] , configRealname :: String , configPlugins :: [PluginId] } +data AccessRight = Admin | JoinPart | Kick | Say deriving (Eq, Show) + +data AccessList = AccessList + { accessMask :: IRC.Prefix + , accessList :: [AccessRight] + } deriving (Show) + data TLSConfig = TLSConfig { sslOn :: Bool , sslVersions :: [Network.TLS.Version] |