| Stability | alpha |
|---|---|
| Maintainer | Ertugrul Soeylemez <es@ertes.de> |
Network.FastIRC.Messages
Contents
Description
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.
Constructors
| 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.