irc-0.1: A small library for parsing IRC messages

Portabilitynon-portable (not tested)
Stabilityexperimental
Maintainertrevor@geekgateway.com

Network.IRC

Contents

Description

library for parsing IRC messages

Synopsis

Type Synonyms

IRC Datatypes

data Prefix Source

The optional beginning of an IRC messages

Constructors

Server ServerName

Server Prefix

NickName String (Maybe UserName) (Maybe ServerName)

Nickname Prefix

Instances

data Message Source

IRC messages are parsed as: [ : prefix space ] command { space param } crlf

Constructors

Message (Maybe Prefix) Command [Parameter]

IRC Message

Instances

Parsing and Formatting Functions

parseMessageSource

Arguments

:: String

Message string

-> Maybe Message

Parsed message

Parse a String into a Message.

formatMessageSource

Arguments

:: Message

IRC Message

-> String

Formatted message

Message formatting

translateReplySource

Arguments

:: Command

Reply

-> String

Text translation

Translate a reply into the text version of the reply. If no text version is available, the argument is returned.

Parsec Combinators for Parsing IRC messages

prefix :: CharParser st PrefixSource

Parse a Prefix

server :: CharParser st PrefixSource

Parse a Server prefix

nickname :: CharParser st PrefixSource

Parse a NickName prefix

command :: CharParser st CommandSource

Parse a command. Either a string of capital letters, or 3 digits.

parameter :: CharParser st ParameterSource

Parse a command parameter.

message :: CharParser st MessageSource

Parse a Message

crlf :: CharParser st ()Source

Parse a cr lf

spaces :: CharParser st ()Source

Consume only spaces tabs or the bell character

Other Parser Combinators

maybeP :: GenParser tok st a -> GenParser tok st (Maybe a)Source

Convert a parser into an optional one that returns a Maybe

tokenize :: CharParser st a -> CharParser st aSource

Convert a parser that consumes all space after it

takeUntil :: String -> CharParser st StringSource

Take all tokens until one character from a given string is found