xdcc-1.0.3: src/IRC/Types.hs
module IRC.Types
( IrcIO
, IrcParams(..)
, Network
, Channel
, Nickname
, Password
, Pack
, Connection
, Hook(..)
) where
import Control.Error (ExceptT)
import Data.CaseInsensitive (CI)
import Network.SimpleIRC (IrcEvent, MIrc)
import Network.Socket (PortNumber)
type Network = String
type Channel = CI String
type Nickname = String
type Password = String
type Pack = Int
type Connection = MIrc
type IrcIO = ExceptT String IO
data IrcParams = IrcParams { host :: Network
, port :: PortNumber
, secure :: Bool
, username :: Nickname
, password :: Maybe Password
, nickname :: Nickname
, channels :: [Channel]
, hooks :: [Hook] }
data Hook = Hook { onConnect :: Connection -> IO ()
, events :: [IrcEvent]
, onDisconnect :: Connection -> IO () }