:u4|a      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` Safe-Inferredsimple rate limiter portablestablejeremy@seereason.com Safe-Inferred #Construct a new rate limit control Execute this before sending a$Loop which manages the limit timers  max burst length delay (in microseconds) a   a Safe-Inferred     None !"#$%&'bcd !"#$%&' !"#$%&'  !"#$%&'bcdNone82get the nickname of the user who sent the message 9'figure out who to reply to for a given e If message was sent to a #=channel reply to the channel. Otherwise reply to the sender. :"returns the receiver of a message 1if multiple receivers, it returns only the first ()*+,-./0123456789:fg()*+,-./0123456789:3124,-./056*+7()89:()*+,-./0123456789:fgNone;;;;None=parse a positive integer >parser that checks for the  (from the ) ?7create a bot part by using Parsec to parse the command The argument to ? is a parser function. ,The argument to that parsec function is the target& that the response should be sent to. The parser will receive the 0 from the ,. see dicePart for an example usage. <=>?@Ah<=>?@A<=>?@A<=>?@AhNoneDusername on client system Ehostname of client system F"irc server client is connected to Gclient' s real name BCDEFGHBCDEFGHBCDEFGHBCDEFGH NoneIJIJIJIJ NoneKBot configuration M"optional channel logging function N app logging Oirc server to connect P!irc port to connect to (usually, 'PortNumber 6667') Q irc nick Rcommand prefix Sirc user info Tchannel to join U&(burst length, delay in microseconds) i6connect to irc server and send NICK and USER commands WSsimpleBot connects to the server and handles messages using the supplied BotPartTs the ' Chan Message'0 for the optional logging function will include A all received and sent messages. This means that the bots output  will be included in the logs. X simpleBot'J connects to the server and handles messages using the supplied BotPartTs the ' Chan Message'0 for the optional logging function will include A all received and sent messages. This means that the bots output  will be included in the logs. jcall k if l. Do nothing for Nothing. KLMNOPQRSTUVimnoplogging qrsWBot configuration bot parts (must include pingPart, or equivalent) tG for all forked handler threads and a function that forces a reconnect X optional logging function application logging <rate limiter settings (burst length, delay in microseconds) irc server to connect !irc port to connect to (usually, 'PortNumber 6667')  irc nick command prefix irc user info bot parts (must include pingPart,  channelsPart, and ' nickUserPart)' tI for all forked handler threads and an IO action that forces a reconnect jBCDEFGHKLMNOPQRSTUVWXWXKLMNOPQRSTUVBCDEFGH K LMNOPQRSTUVimnopqrsWXj NoneYZ[YZ[YZ[YZ[ None\]\]\]\] None^_^_^_^_None````NoneJ  !"#$%&'()*+,-./0123456789:<=>?@ABCDEFGHKLMNOPQRSTUVWXu !""#$$%&'()*+,-./012345567889:;<<=>?@ABCDEFGHIJKLLMNOPQ R S T T U V W X Y Z [ \ ] ^ _ ` a b c d e f ghijklmnopqr s tuvwuxy z { | } ~  u ircbot-0.5.3Network.IRC.Bot.ErrorCodesNetwork.IRC.Bot.LimiterNetwork.IRC.Bot.LogNetwork.IRC.Bot.BotMonadNetwork.IRC.Bot.CommandsNetwork.IRC.Bot.PosixLoggerNetwork.IRC.Bot.ParsecNetwork.IRC.Bot.TypesNetwork.IRC.Bot.Part.NickUserNetwork.IRC.Bot.CoreNetwork.IRC.Bot.Part.ChannelsNetwork.IRC.Bot.Part.DiceNetwork.IRC.Bot.Part.HelloNetwork.IRC.Bot.Part.PingNetwork.IRC.BotnoNicknameGivenerroneusNickname nicknameInUse nickCollisionLimiterlimitsIn limitsOut limitsDelaylimitsThreadId newLimiterlimitLoggerLogLevel ImportantNormalDebug stdoutLogger nullLoggerBotPartT unBotPartTBotEnvmessageoutChanlogFnbotName cmdPrefixBotMonad askBotEnv askMessage askOutChan localMessage sendMessagelogMwhoami runBotPartT mapBotPartT maybeZeroPong ToMessage toMessagePrivMsgprefix receiversmsgPingcmdpingprivMsg toPrivMsg sendCommandaskSenderNickNamereplyTo askReceiver posixLogger mapParsecTnat botPrefix parsecPart reportErrorshowErrorMessagesUserusernamehostname servernamerealnamenullUser nickUserPartchangeNickUserBotConf channelLoggerloggerhostportnick commandPrefixuserchannelslimits nullBotConf simpleBot simpleBot'initChannelsPart channelsPart joinChanneldicePart diceCommand helloPart helloCommandpingPartlimiter$fBotMonadBotPartT$fMonadRWSrwsBotPartT$fMonadReaderrBotPartT irc-0.5.1.0Network.IRC.BaseMessage$fToMessagePrivMsg$fToMessagePong$fBotMonadParsecT ircConnectwriteMaybeChanbaseControl.Concurrent.Chan writeChan Data.MaybeJustpartLoopircLoopconnectionLoopircConnectLoop doConnect reconnect onConnectLoop GHC.Conc.SyncThreadId