Archived
1
0
Fork 0

Added access controls to hsbot.

This commit is contained in:
Julien Dessaux 2011-08-08 11:39:41 +02:00
parent e74094d5d9
commit 1c8cab09cb
5 changed files with 32 additions and 6 deletions

View file

@ -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]