Stability | alpha |
---|---|
Maintainer | Ertugrul Soeylemez <es@ertes.de> |
Parser and printer for IRC messages.
- data Message = Message {
- msgOrigin :: !(Maybe UserSpec)
- msgCommand :: !Command
- messageParser :: Parser Message
- readMessage :: MsgString -> Maybe Message
- showMessage :: Message -> MsgString
- data Command
- = StringCmd CommandName [CommandArg]
- | NumericCmd Integer [CommandArg]
- | JoinCmd (Map ChannelName (Maybe ChannelKey))
- | KickCmd (Set ChannelName) (Set NickName) (Maybe CommandArg)
- | ModeCmd (Maybe (TargetName, CommandArg, [CommandArg]))
- | NickCmd NickName (Maybe Int)
- | NoticeCmd (Set TargetName) CommandArg
- | PartCmd (Set ChannelName) (Maybe CommandArg)
- | PassCmd CommandArg
- | PingCmd ServerName (Maybe ServerName)
- | PongCmd ServerName (Maybe ServerName)
- | PrivMsgCmd (Set TargetName) CommandArg
- | QuitCmd (Maybe CommandArg)
- | TopicCmd ChannelName (Maybe CommandArg)
- | UserCmd UserName CommandArg CommandArg CommandArg
- commandParser :: Parser Command
- showCommand :: Command -> MsgString
IRC messages
Data type for IRC messages.
messageParser :: Parser MessageSource
Parser for IRC messages.
readMessage :: MsgString -> Maybe MessageSource
Run the messageParser
parser.
showMessage :: Message -> MsgStringSource
Turn a Message
into a ByteString
.
IRC commands
Data type for IRC commands.
StringCmd CommandName [CommandArg] | Arbitrary string command. |
NumericCmd Integer [CommandArg] | Arbitrary numeric command. |
JoinCmd (Map ChannelName (Maybe ChannelKey)) | |
KickCmd (Set ChannelName) (Set NickName) (Maybe CommandArg) | |
ModeCmd (Maybe (TargetName, CommandArg, [CommandArg])) | |
NickCmd NickName (Maybe Int) | |
NoticeCmd (Set TargetName) CommandArg | |
PartCmd (Set ChannelName) (Maybe CommandArg) | |
PassCmd CommandArg | |
PingCmd ServerName (Maybe ServerName) | |
PongCmd ServerName (Maybe ServerName) | |
PrivMsgCmd (Set TargetName) CommandArg | |
QuitCmd (Maybe CommandArg) | |
TopicCmd ChannelName (Maybe CommandArg) | |
UserCmd UserName CommandArg CommandArg CommandArg |
commandParser :: Parser CommandSource
Parser for IRC commands and their arguments.
showCommand :: Command -> MsgStringSource
Turn a Command
into a ByteString
. If you need to specify an
origin for the command, you should use Message
together with
showMessage
.