ircbot-0.6.6: A library for writing IRC bots
Safe HaskellNone
LanguageHaskell2010

Network.IRC.Bot.Core

Synopsis

Documentation

simpleBot Source #

Arguments

:: BotConf

Bot configuration

-> [BotPartT IO ()]

bot parts (must include pingPart, or equivalent)

-> IO ([ThreadId], IO ())

ThreadId for all forked handler threads and a function that forces a reconnect

simpleBot connects to the server and handles messages using the supplied BotPartTs

the 'Chan Message' for the optional logging function will include all received and sent messages. This means that the bots output will be included in the logs.

simpleBot' Source #

Arguments

:: Maybe (Chan Message -> IO ())

optional logging function

-> Logger

application logging

-> Maybe (Int, Int)

rate limiter settings (burst length, delay in microseconds)

-> HostName

irc server to connect

-> PortNumber

irc port to connect to (usually, '6667')

-> ByteString

irc nick

-> String

command prefix

-> User

irc user info

-> [BotPartT IO ()]

bot parts (must include pingPart, channelsPart, and 'nickUserPart)'

-> IO ([ThreadId], IO ())

ThreadId for all forked handler threads and an IO action that forces a reconnect

simpleBot' connects to the server and handles messages using the supplied BotPartTs

the 'Chan Message' for the optional logging function will include all received and sent messages. This means that the bots output will be included in the logs.

data BotConf Source #

Bot configuration

Constructors

BotConf 

Fields

data User Source #

Constructors

User 

Fields

Instances

Instances details
Eq User Source # 
Instance details

Defined in Network.IRC.Bot.Types

Methods

(==) :: User -> User -> Bool

(/=) :: User -> User -> Bool

Data User Source # 
Instance details

Defined in Network.IRC.Bot.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> User -> c User

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c User

toConstr :: User -> Constr

dataTypeOf :: User -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c User)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c User)

gmapT :: (forall b. Data b => b -> b) -> User -> User

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> User -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> User -> r

gmapQ :: (forall d. Data d => d -> u) -> User -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> User -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> User -> m User

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> User -> m User

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> User -> m User

Ord User Source # 
Instance details

Defined in Network.IRC.Bot.Types

Methods

compare :: User -> User -> Ordering

(<) :: User -> User -> Bool

(<=) :: User -> User -> Bool

(>) :: User -> User -> Bool

(>=) :: User -> User -> Bool

max :: User -> User -> User

min :: User -> User -> User

Read User Source # 
Instance details

Defined in Network.IRC.Bot.Types

Methods

readsPrec :: Int -> ReadS User

readList :: ReadS [User]

readPrec :: ReadPrec User

readListPrec :: ReadPrec [User]

Show User Source # 
Instance details

Defined in Network.IRC.Bot.Types

Methods

showsPrec :: Int -> User -> ShowS

show :: User -> String

showList :: [User] -> ShowS