úÎJðF¤T      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS(c) 2016 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalIBangPatterns, DeriveFunctor, OverloadedStrings, RankNTypes, TupleSectionsSafe2LOT A decoded IRC message.ƒA message, either from a user or to a channel the client is in. CTCPs are distinguished by starting and ending with a \001 (SOH).>Like a privmsg, but should not provoke an automatic response.Someone has updated their nick.Someone has joined a channel.Someone has left a channel.Someone has left the network.1Someone has set some channel modes or user modes.'Someone has set the topic of a channel. )The client has been invited to a channel. 'Someone has been kicked from a channel. DThe client has received a server ping, and should send a pong asap.  A pong sent to the named server. )One of the many server numeric responses.ÔNever produced by decoding, but can be used to send arbitrary bytestrings to the IRC server. Naturally, this should only be used when you are confident that the produced bytestring will be a valid IRC message.The source of an IRC message.'The message comes directly from a user.+The message comes from a user in a channel.+The message comes directly from the server.A decoded IRC message + source.The message as a bytestring.5The source of the message (user, channel, or server).*The decoded message. This will never be a .8The target of a message. Will be a nick or channel name.$A  Lhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Type.html#t:SimpleSimple %.%See  Lhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Prism.html#t:PrismControl.Lens.Prism.Prism.&A  Lhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Type.html#t:SimpleSimple '.'See  Jhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Lens.html#t:LensControl.Lens.Lens.Lens.(-Split up incoming bytestrings into new lines.*|Attempt to decode a ByteString into a message, returning a Nothing if either the source or the message can't be determined.+SEncode an IRC message into a single bytestring suitable for sending to the server.-Construct a raw message..  !"#$%&'()*+,- The command The arguments.   !"#$%&'()*+,-.'&%$(#"!  )*+,-  !"#$%&'()*+,-(c) 2017 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalportableSafe7' for .8' for .9' for .:% for ;% for <% for =% for >% for ?% for @% for A% for B% for C% for D% for E% for  F% for  G% for  H% for  I% for  J% for 789:;<=>?@ABCDEFGHIJ789:;<=>?@ABCDEFGHIJ789:;<=>?@ABCDEFGHIJ789:;<=>?@ABCDEFGHIJ(c) 2016 Michael WalkerMIT%Michael Walker <mike@barrucadu.co.uk> experimentalOverloadedStrings, RankNTypesNoneOT K®A conduit which takes as input bytestrings representing encoded IRC messages, and decodes them to events. If decoding fails, the original bytestring is just passed through.LLike K4, but discards messages which could not be decoded.MkA conduit which takes as input irc messages, and produces as output the encoded bytestring representation.NšA conduit which rate limits output sent downstream. Awaiting on this conduit will block, even if there is output ready, until the time limit has passed.OZConnect to a network server, without TLS, and concurrently run the producer and consumer.P1Run the IRC conduits using a provided connection.‘Starts the connection and concurrently run the initialiser, event consumer, and message sources. Terminates as soon as one throws an exception.QLike O/, but with TLS. The TLS configuration used is S.RLike QH, but takes the configuration to use, which includes the host and port.SThe default TLS settings for Q. KLMN3The minimum time between sending adjacent messages.OThe port number The hostnameNAny initialisation work (started concurrently with the producer and consumer)The consumer of irc eventsThe producer of irc messagesPThe initialised connection.QRSThe port number The hostnameC   !"#+-789:;<=>?@ABCDEFGHIJKLMNOPQRS/#"!  KLMNOPQRS-+ KLMNOPQRST      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW*irc-conduit-0.2.2.2-DQtRgSwY5MEAargrzsWjC8Network.IRC.Conduit.InternalNetwork.IRC.Conduit.LensNetwork.IRC.ConduitMessagePrivmsgNoticeNickJoinPartQuitModeTopicInviteKickPingPongNumericRawMsgSourceUserChannelServerEvent_raw_source_message IrcMessage IrcSourceIrcEventTarget NumericArgModeArgModeFlag IsModeSetReason ServerNameNickName ChannelNamePrism'PrismLens'LenschunkedfromByteString attemptDecode toByteString mkMessage rawMessage $fEqSource$fFunctorSource $fShowSource $fEqMessage$fFunctorMessage $fShowMessage $fEqEvent$fFunctorEvent $fShowEventrawsourcemessage_User_Channel_Server_Privmsg_Notice_Nick_Join_Part_Quit_Mode_Topic_Invite_Kick_Ping_Pong_Numeric_RawMsg ircDecoderircLossyDecoder ircEncoderfloodProtector ircClient ircWithConn ircTLSClient ircTLSClient'defaultTLSConfig