Safe Haskell | None |
---|---|
Language | Haskell98 |
Lambdabot.Plugin
Synopsis
- data Module st = Module {
- moduleSerialize :: !(Maybe (Serial st))
- moduleDefState :: !(LB st)
- moduleSticky :: !Bool
- moduleCmds :: !(ModuleT st LB [Command (ModuleT st LB)])
- moduleInit :: !(ModuleT st LB ())
- moduleExit :: !(ModuleT st LB ())
- contextual :: !(String -> Cmd (ModuleT st LB) ())
- data ModuleT st m a
- newModule :: Module st
- data LB a
- class (MonadIO m, MonadBaseControl IO m, MonadConfig m, MonadLogging m, Applicative m, MonadFail m) => MonadLB m where
- lim80 :: Monad m => m String -> Cmd m ()
- ios80 :: MonadIO m => IO String -> Cmd m ()
- data ChanName
- mkCN :: Nick -> ChanName
- getCN :: ChanName -> Nick
- data Nick = Nick {}
- ircPrivmsg :: Nick -> String -> LB ()
- module Lambdabot.Config
- commandPrefixes :: Config [String]
- disabledCommands :: Config [String]
- editDistanceLimit :: Config Int
- enableInsults :: Config Bool
- onStartupCmds :: Config [String]
- outputDir :: Config FilePath
- dataDir :: Config FilePath
- lbVersion :: Config Version
- textWidth :: Config Int
- uncaughtExceptionHandler :: Config DIH
- replaceRootLogger :: Config Bool
- lbRootLoggerPath :: Config [String]
- consoleLogHandle :: Config Handle
- consoleLogLevel :: Config Priority
- consoleLogFormat :: Config String
- data Command m = Command {}
- data Cmd m a
- cmdNames :: Command m -> [String]
- command :: String -> Command Identity
- getTarget :: Monad m => Cmd m Nick
- getCmdName :: Monad m => Cmd m String
- say :: Monad m => String -> Cmd m ()
- withMsg :: Monad m => (forall a. Message a => a -> Cmd m t) -> Cmd m t
- readNick :: Monad m => String -> Cmd m Nick
- showNick :: Monad m => Nick -> Cmd m String
- getServer :: Monad m => Cmd m String
- getSender :: Monad m => Cmd m Nick
- getLambdabotName :: Monad m => Cmd m Nick
- module Lambdabot.State
- module Lambdabot.File
- data Serial s = Serial {
- serialize :: s -> Maybe ByteString
- deserialize :: ByteString -> Maybe s
- stdSerial :: (Show s, Read s) => Serial s
- mapSerial :: (Ord k, Show k, Show v, Read k, Read v) => Serial (Map k v)
- mapPackedSerial :: Serial (Map ByteString ByteString)
- assocListPackedSerial :: Serial [(ByteString, ByteString)]
- mapListPackedSerial :: Serial (Map ByteString [ByteString])
- readM :: (MonadFail m, Read a) => String -> m a
- class Packable t where
- readPacked :: ByteString -> t
- showPacked :: t -> ByteString
- readOnly :: (ByteString -> b) -> Serial b
Documentation
The Module type class.
Constructors
Module | |
Fields
|
This transformer encodes the additional information a module might need to access its name or its state.
Instances
The IRC Monad. The reader transformer holds information about the connection to the IRC server.
instances Monad, Functor, MonadIO, MonadState, MonadError
Instances
Monad LB Source # | |
Functor LB Source # | |
MonadFail LB Source # | |
Defined in Lambdabot.Monad | |
Applicative LB Source # | |
MonadIO LB Source # | |
Defined in Lambdabot.Monad | |
MonadThrow LB Source # | |
Defined in Lambdabot.Monad | |
MonadCatch LB Source # | |
MonadMask LB Source # | |
MonadRandom LB Source # | |
Defined in Lambdabot.Bot Methods getRandomPrim :: Prim t -> LB t # getRandomWord8 :: LB Word8 # getRandomWord16 :: LB Word16 # getRandomWord32 :: LB Word32 # getRandomWord64 :: LB Word64 # getRandomDouble :: LB Double # getRandomNByteInteger :: Int -> LB Integer # | |
MonadConfig LB Source # | |
MonadLogging LB Source # | |
MonadLB LB Source # | |
MonadBase IO LB Source # | |
Defined in Lambdabot.Monad | |
MonadBaseControl IO LB Source # | |
MonadState IRCRWState LB Source # | |
Defined in Lambdabot.Monad Methods get :: LB IRCRWState # put :: IRCRWState -> LB () # state :: (IRCRWState -> (a, IRCRWState)) -> LB a # | |
type StM LB a Source # | |
Defined in Lambdabot.Monad |
class (MonadIO m, MonadBaseControl IO m, MonadConfig m, MonadLogging m, Applicative m, MonadFail m) => MonadLB m where Source #
ios80 :: MonadIO m => IO String -> Cmd m () Source #
convenience, similar to ios but also cut output to channel to 80 characters
usage: process _ _ to _ s = ios80 to (plugs s)
The type of nicknames isolated from a message.
Constructors
Nick | |
Send a message to a channel/user, applying all output filters
module Lambdabot.Config
commandPrefixes :: Config [String] Source #
disabledCommands :: Config [String] Source #
onStartupCmds :: Config [String] Source #
uncaughtExceptionHandler :: Config DIH Source #
lbRootLoggerPath :: Config [String] Source #
Instances
MonadTrans Cmd Source # | |
Defined in Lambdabot.Command | |
MonadTransControl Cmd Source # | |
MonadBase b m => MonadBase b (Cmd m) Source # | |
Defined in Lambdabot.Command | |
MonadBaseControl b m => MonadBaseControl b (Cmd m) Source # | |
Monad m => Monad (Cmd m) Source # | |
Functor f => Functor (Cmd f) Source # | |
MonadFail m => MonadFail (Cmd m) Source # | |
Defined in Lambdabot.Command | |
Applicative f => Applicative (Cmd f) Source # | |
MonadIO m => MonadIO (Cmd m) Source # | |
Defined in Lambdabot.Command | |
MonadConfig m => MonadConfig (Cmd m) Source # | |
MonadLogging m => MonadLogging (Cmd m) Source # | |
MonadLB m => MonadLB (Cmd m) Source # | |
MonadLBState m => MonadLBState (Cmd m) Source # | |
type StT Cmd a Source # | |
Defined in Lambdabot.Command | |
type LBState (Cmd m) Source # | |
Defined in Lambdabot.State | |
type StM (Cmd m) a Source # | |
Defined in Lambdabot.Command |
module Lambdabot.State
module Lambdabot.File
Constructors
Serial | |
Fields
|
mapSerial :: (Ord k, Show k, Show v, Read k, Read v) => Serial (Map k v) Source #
Serializes a Map
type if both the key and the value are instances
of Read and Show. The serialization is done by converting the map to
and from lists. Results are saved line-wise, for better editing and
revision control.
readM :: (MonadFail m, Read a) => String -> m a Source #
readM
behaves like read, but catches failure in a monad.
this allocates a 20-30 M on startup...
class Packable t where Source #
Instances
Packable [(ByteString, ByteString)] Source # | |
Defined in Lambdabot.Util.Serial Methods readPacked :: ByteString -> [(ByteString, ByteString)] Source # showPacked :: [(ByteString, ByteString)] -> ByteString Source # | |
Packable (Map ByteString [ByteString]) Source # | An instance for Map Packed [Packed] uses gzip compression |
Defined in Lambdabot.Util.Serial Methods readPacked :: ByteString -> Map ByteString [ByteString] Source # showPacked :: Map ByteString [ByteString] -> ByteString Source # | |
Packable (Map ByteString (Bool, [(ByteString, Int)])) Source # | |
Defined in Lambdabot.Util.Serial Methods readPacked :: ByteString -> Map ByteString (Bool, [(ByteString, Int)]) Source # showPacked :: Map ByteString (Bool, [(ByteString, Int)]) -> ByteString Source # | |
Packable (Map ByteString ByteString) Source # | |
Defined in Lambdabot.Util.Serial Methods readPacked :: ByteString -> Map ByteString ByteString Source # showPacked :: Map ByteString ByteString -> ByteString Source # |
readOnly :: (ByteString -> b) -> Serial b Source #