Added access controls to hsbot.
This commit is contained in:
parent
e74094d5d9
commit
1c8cab09cb
5 changed files with 32 additions and 6 deletions
|
@ -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]
|
||||
|
|
Reference in a new issue