packages feed

irc-core 2.9 → 2.10

raw patch · 6 files changed

+32/−21 lines, 6 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

- Irc.Codes: pattern ERR_NUMERIC_ERR :: () => () => ReplyCode
+ Irc.Codes: pattern ERR_ACCEPTEXIST :: ReplyCode
+ Irc.Codes: pattern ERR_ACCEPTFULL :: ReplyCode
+ Irc.Codes: pattern ERR_ACCEPTNOT :: ReplyCode
+ Irc.Codes: pattern ERR_ADMONLY :: ReplyCode
+ Irc.Codes: pattern ERR_ALREADYREGISTERED :: ReplyCode
+ Irc.Codes: pattern ERR_BADCHANMASK :: ReplyCode
+ Irc.Codes: pattern ERR_BADCHANNAME :: ReplyCode
+ Irc.Codes: pattern ERR_BADCHANNELKEY :: ReplyCode
+ Irc.Codes: pattern ERR_BADCHARENCODING :: ReplyCode
+ Irc.Codes: pattern ERR_BADEXPIRE :: ReplyCode
+ Irc.Codes: pattern ERR_BADHOSTMASK :: ReplyCode
+ Irc.Codes: pattern ERR_BADLOGSYS :: ReplyCode
+ Irc.Codes: pattern ERR_BADLOGTYPE :: ReplyCode
+ Irc.Codes: pattern ERR_BADLOGVALUE :: ReplyCode
+ Irc.Codes: pattern ERR_BADMASK :: ReplyCode
+ Irc.Codes: pattern ERR_BANLISTFULL :: ReplyCode
+ Irc.Codes: pattern ERR_BANNEDFROMCHAN :: ReplyCode
+ Irc.Codes: pattern ERR_BANNEDNICK :: ReplyCode
+ Irc.Codes: pattern ERR_BANNICKCHANGE :: ReplyCode
+ Irc.Codes: pattern ERR_CANNOTCHANGECHANMODE :: ReplyCode
+ Irc.Codes: pattern ERR_CANNOTCHANGESERVERMODE :: ReplyCode
+ Irc.Codes: pattern ERR_CANNOTCHANGEUMODE :: ReplyCode
+ Irc.Codes: pattern ERR_CANNOTDOCOMMAND :: ReplyCode
+ Irc.Codes: pattern ERR_CANNOTSENDTOCHAN :: ReplyCode
+ Irc.Codes: pattern ERR_CANNOTSENDTONICK :: ReplyCode
+ Irc.Codes: pattern ERR_CANTKILLSERVER :: ReplyCode
+ Irc.Codes: pattern ERR_CHANNELISFULL :: ReplyCode
+ Irc.Codes: pattern ERR_CHANOPEN :: ReplyCode
+ Irc.Codes: pattern ERR_CHANOPRIVSNEEDED :: ReplyCode
+ Irc.Codes: pattern ERR_CHANOWNPRIVNEEDED :: ReplyCode
+ Irc.Codes: pattern ERR_DISABLED :: ReplyCode
+ Irc.Codes: pattern ERR_DONTCHEAT :: ReplyCode
+ Irc.Codes: pattern ERR_ERRONEUSNICKNAME :: ReplyCode
+ Irc.Codes: pattern ERR_EVENTNICKCHANGE :: ReplyCode
+ Irc.Codes: pattern ERR_FILEERROR :: ReplyCode
+ Irc.Codes: pattern ERR_GHOSTEDCLIENT :: ReplyCode
+ Irc.Codes: pattern ERR_HELPNOTFOUND :: ReplyCode
+ Irc.Codes: pattern ERR_HOSTILENAME :: ReplyCode
+ Irc.Codes: pattern ERR_HOSTUNAVAIL :: ReplyCode
+ Irc.Codes: pattern ERR_IDCOLLISION :: ReplyCode
+ Irc.Codes: pattern ERR_INVALIDUSERNAME :: ReplyCode
+ Irc.Codes: pattern ERR_INVITEONLYCHAN :: ReplyCode
+ Irc.Codes: pattern ERR_ISCHANSERVICE :: ReplyCode
+ Irc.Codes: pattern ERR_ISOPERLCHAN :: ReplyCode
+ Irc.Codes: pattern ERR_KEYSET :: ReplyCode
+ Irc.Codes: pattern ERR_KNOCKDISABLED :: ReplyCode
+ Irc.Codes: pattern ERR_KNOCKONCHAN :: ReplyCode
+ Irc.Codes: pattern ERR_LENGTHTRUNCATED :: ReplyCode
+ Irc.Codes: pattern ERR_LINKCHANNEL :: ReplyCode
+ Irc.Codes: pattern ERR_LINKSET :: ReplyCode
+ Irc.Codes: pattern ERR_LISTSYNTAX :: ReplyCode
+ Irc.Codes: pattern ERR_LONGMASK :: ReplyCode
+ Irc.Codes: pattern ERR_MASKTOOWIDE :: ReplyCode
+ Irc.Codes: pattern ERR_MLOCKRESTRICTED :: ReplyCode
+ Irc.Codes: pattern ERR_MONLISTFULL :: ReplyCode
+ Irc.Codes: pattern ERR_NEEDMOREPARAMS :: ReplyCode
+ Irc.Codes: pattern ERR_NEEDREGGEDNICK :: ReplyCode
+ Irc.Codes: pattern ERR_NICKCOLLISION :: ReplyCode
+ Irc.Codes: pattern ERR_NICKLOST :: ReplyCode
+ Irc.Codes: pattern ERR_NICKNAMEINUSE :: ReplyCode
+ Irc.Codes: pattern ERR_NICKTOOFAST :: ReplyCode
+ Irc.Codes: pattern ERR_NOADMININFO :: ReplyCode
+ Irc.Codes: pattern ERR_NOFEATURE :: ReplyCode
+ Irc.Codes: pattern ERR_NOHIDING :: ReplyCode
+ Irc.Codes: pattern ERR_NOINVITE :: ReplyCode
+ Irc.Codes: pattern ERR_NOLANGUAGE :: ReplyCode
+ Irc.Codes: pattern ERR_NOLOGIN :: ReplyCode
+ Irc.Codes: pattern ERR_NOMOTD :: ReplyCode
+ Irc.Codes: pattern ERR_NONICKCHANGE :: ReplyCode
+ Irc.Codes: pattern ERR_NONICKNAMEGIVEN :: ReplyCode
+ Irc.Codes: pattern ERR_NONONREG :: ReplyCode
+ Irc.Codes: pattern ERR_NOOPERHOST :: ReplyCode
+ Irc.Codes: pattern ERR_NOOPERMOTD :: ReplyCode
+ Irc.Codes: pattern ERR_NOORIGIN :: ReplyCode
+ Irc.Codes: pattern ERR_NOPERMFORHOST :: ReplyCode
+ Irc.Codes: pattern ERR_NOPRIVILEGES :: ReplyCode
+ Irc.Codes: pattern ERR_NOPRIVS :: ReplyCode
+ Irc.Codes: pattern ERR_NORECIPIENT :: ReplyCode
+ Irc.Codes: pattern ERR_NORULES :: ReplyCode
+ Irc.Codes: pattern ERR_NOSERVICEHOST :: ReplyCode
+ Irc.Codes: pattern ERR_NOSUCHCHANNEL :: ReplyCode
+ Irc.Codes: pattern ERR_NOSUCHNICK :: ReplyCode
+ Irc.Codes: pattern ERR_NOSUCHSERVER :: ReplyCode
+ Irc.Codes: pattern ERR_NOTEXTTOSEND :: ReplyCode
+ Irc.Codes: pattern ERR_NOTFORHALFOPS :: ReplyCode
+ Irc.Codes: pattern ERR_NOTIMPLEMENTED :: ReplyCode
+ Irc.Codes: pattern ERR_NOTONCHANNEL :: ReplyCode
+ Irc.Codes: pattern ERR_NOTOPLEVEL :: ReplyCode
+ Irc.Codes: pattern ERR_NOTREGISTERED :: ReplyCode
+ Irc.Codes: pattern ERR_NUMERIC_ERR :: ReplyCode
+ Irc.Codes: pattern ERR_ONLYSERVERSCANCHANGE :: ReplyCode
+ Irc.Codes: pattern ERR_OPERONLY :: ReplyCode
+ Irc.Codes: pattern ERR_OWNMODE :: ReplyCode
+ Irc.Codes: pattern ERR_PASSWDMISMATCH :: ReplyCode
+ Irc.Codes: pattern ERR_PFXUNROUTABLE :: ReplyCode
+ Irc.Codes: pattern ERR_REMOTEPFX :: ReplyCode
+ Irc.Codes: pattern ERR_SERVERMODELOCK :: ReplyCode
+ Irc.Codes: pattern ERR_SERVICENAMEINUSE :: ReplyCode
+ Irc.Codes: pattern ERR_SERVICESDOWN :: ReplyCode
+ Irc.Codes: pattern ERR_SILELISTFULL :: ReplyCode
+ Irc.Codes: pattern ERR_STARTTLS :: ReplyCode
+ Irc.Codes: pattern ERR_STATSSLINE :: ReplyCode
+ Irc.Codes: pattern ERR_SUMMONDISABLED :: ReplyCode
+ Irc.Codes: pattern ERR_TARGCHANGE :: ReplyCode
+ Irc.Codes: pattern ERR_TARGETTOOFAST :: ReplyCode
+ Irc.Codes: pattern ERR_TEXTTOOSHORT :: ReplyCode
+ Irc.Codes: pattern ERR_THROTTLE :: ReplyCode
+ Irc.Codes: pattern ERR_TOOMANYAWAY :: ReplyCode
+ Irc.Codes: pattern ERR_TOOMANYCHANNELS :: ReplyCode
+ Irc.Codes: pattern ERR_TOOMANYKNOCK :: ReplyCode
+ Irc.Codes: pattern ERR_TOOMANYLANGUAGES :: ReplyCode
+ Irc.Codes: pattern ERR_TOOMANYMATCHES :: ReplyCode
+ Irc.Codes: pattern ERR_TOOMANYTARGETS :: ReplyCode
+ Irc.Codes: pattern ERR_TOOMANYUSERS :: ReplyCode
+ Irc.Codes: pattern ERR_TOOMANYWATCH :: ReplyCode
+ Irc.Codes: pattern ERR_TSLESSCHAN :: ReplyCode
+ Irc.Codes: pattern ERR_UMODEUNKNOWNFLAG :: ReplyCode
+ Irc.Codes: pattern ERR_UNAVAILRESOURCE :: ReplyCode
+ Irc.Codes: pattern ERR_UNKNOWNCOMMAND :: ReplyCode
+ Irc.Codes: pattern ERR_UNKNOWNERROR :: ReplyCode
+ Irc.Codes: pattern ERR_UNKNOWNMODE :: ReplyCode
+ Irc.Codes: pattern ERR_UNKNOWNSERVERMODE :: ReplyCode
+ Irc.Codes: pattern ERR_USERNOTINCHANNEL :: ReplyCode
+ Irc.Codes: pattern ERR_USERNOTONSERV :: ReplyCode
+ Irc.Codes: pattern ERR_USERONCHANNEL :: ReplyCode
+ Irc.Codes: pattern ERR_USERSDISABLED :: ReplyCode
+ Irc.Codes: pattern ERR_USERSDONTMATCH :: ReplyCode
+ Irc.Codes: pattern ERR_USINGSLINE :: ReplyCode
+ Irc.Codes: pattern ERR_VOICENEEDED :: ReplyCode
+ Irc.Codes: pattern ERR_WASNOSUCHNICK :: ReplyCode
+ Irc.Codes: pattern ERR_WHOLIMEXCEED :: ReplyCode
+ Irc.Codes: pattern ERR_WHOSYNTAX :: ReplyCode
+ Irc.Codes: pattern ERR_WHOTRUNC :: ReplyCode
+ Irc.Codes: pattern ERR_WILDTOPLEVEL :: ReplyCode
+ Irc.Codes: pattern ERR_WRONGPONG :: ReplyCode
+ Irc.Codes: pattern ERR_YOUREBANNEDCREEP :: ReplyCode
+ Irc.Codes: pattern ERR_YOUWILLBEBANNED :: ReplyCode
+ Irc.Codes: pattern RPL_ACCEPTLIST :: ReplyCode
+ Irc.Codes: pattern RPL_ADMINEMAIL :: ReplyCode
+ Irc.Codes: pattern RPL_ADMINLOC1 :: ReplyCode
+ Irc.Codes: pattern RPL_ADMINLOC2 :: ReplyCode
+ Irc.Codes: pattern RPL_ADMINME :: ReplyCode
+ Irc.Codes: pattern RPL_ATTEMPTINGJUNC :: ReplyCode
+ Irc.Codes: pattern RPL_ATTEMPTINGREROUTE :: ReplyCode
+ Irc.Codes: pattern RPL_AWAY :: ReplyCode
+ Irc.Codes: pattern RPL_BADCHANPASS :: ReplyCode
+ Irc.Codes: pattern RPL_BANLIST :: ReplyCode
+ Irc.Codes: pattern RPL_CANNOTSETMODES :: ReplyCode
+ Irc.Codes: pattern RPL_CHANNELMLOCKIS :: ReplyCode
+ Irc.Codes: pattern RPL_CHANNELMODEIS :: ReplyCode
+ Irc.Codes: pattern RPL_CHANNEL_URL :: ReplyCode
+ Irc.Codes: pattern RPL_CHANREDIR :: ReplyCode
+ Irc.Codes: pattern RPL_CHPASSUNKNOWN :: ReplyCode
+ Irc.Codes: pattern RPL_CLOSEEND :: ReplyCode
+ Irc.Codes: pattern RPL_CLOSING :: ReplyCode
+ Irc.Codes: pattern RPL_COMMANDSYNTAX :: ReplyCode
+ Irc.Codes: pattern RPL_CREATED :: ReplyCode
+ Irc.Codes: pattern RPL_CREATIONTIME :: ReplyCode
+ Irc.Codes: pattern RPL_DATASTR :: ReplyCode
+ Irc.Codes: pattern RPL_DCCINFO :: ReplyCode
+ Irc.Codes: pattern RPL_DCCLIST :: ReplyCode
+ Irc.Codes: pattern RPL_DCCSTATUS :: ReplyCode
+ Irc.Codes: pattern RPL_DUMPING :: ReplyCode
+ Irc.Codes: pattern RPL_DUMPRPL :: ReplyCode
+ Irc.Codes: pattern RPL_ENDNOTIFY :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFACCEPT :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFBANLIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFDCCLIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFEXCEPTLIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFHELP :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFINFO :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFINVEXLIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFISOPER :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFJUPELIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFLINKS :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFMODLIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFMONLIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFMOTD :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFNAMES :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFO :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFOMOTD :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFQUIETLIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFRSACHALLENGE2 :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFSERVICES :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFSETTINGS :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFSILELIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFSTATS :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFTRACE :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFUSERS :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFWATCHLIST :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFWHO :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFWHOIS :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOFWHOWAS :: ReplyCode
+ Irc.Codes: pattern RPL_ENDOF_GENERIC :: ReplyCode
+ Irc.Codes: pattern RPL_END_CHANINFO :: ReplyCode
+ Irc.Codes: pattern RPL_END_NETSTAT :: ReplyCode
+ Irc.Codes: pattern RPL_EODUMP :: ReplyCode
+ Irc.Codes: pattern RPL_ETRACE :: ReplyCode
+ Irc.Codes: pattern RPL_ETRACEFULL :: ReplyCode
+ Irc.Codes: pattern RPL_EXCEPTLIST :: ReplyCode
+ Irc.Codes: pattern RPL_FEATURE :: ReplyCode
+ Irc.Codes: pattern RPL_GLIST :: ReplyCode
+ Irc.Codes: pattern RPL_GLOBALUSERS :: ReplyCode
+ Irc.Codes: pattern RPL_HELPSTART :: ReplyCode
+ Irc.Codes: pattern RPL_HELPTXT :: ReplyCode
+ Irc.Codes: pattern RPL_HOSTHIDDEN :: ReplyCode
+ Irc.Codes: pattern RPL_INFO :: ReplyCode
+ Irc.Codes: pattern RPL_INFOSTART :: ReplyCode
+ Irc.Codes: pattern RPL_INVEXLIST :: ReplyCode
+ Irc.Codes: pattern RPL_INVITED :: ReplyCode
+ Irc.Codes: pattern RPL_INVITING :: ReplyCode
+ Irc.Codes: pattern RPL_ISLOCOP :: ReplyCode
+ Irc.Codes: pattern RPL_ISNOTOPER :: ReplyCode
+ Irc.Codes: pattern RPL_ISON :: ReplyCode
+ Irc.Codes: pattern RPL_ISOPER :: ReplyCode
+ Irc.Codes: pattern RPL_ISUPPORT :: ReplyCode
+ Irc.Codes: pattern RPL_KILLDONE :: ReplyCode
+ Irc.Codes: pattern RPL_KNOCK :: ReplyCode
+ Irc.Codes: pattern RPL_KNOCKDLVR :: ReplyCode
+ Irc.Codes: pattern RPL_LANGUAGE :: ReplyCode
+ Irc.Codes: pattern RPL_LINKS :: ReplyCode
+ Irc.Codes: pattern RPL_LIST :: ReplyCode
+ Irc.Codes: pattern RPL_LISTEND :: ReplyCode
+ Irc.Codes: pattern RPL_LISTSTART :: ReplyCode
+ Irc.Codes: pattern RPL_LISTSYNTAX :: ReplyCode
+ Irc.Codes: pattern RPL_LISTUSAGE :: ReplyCode
+ Irc.Codes: pattern RPL_LOAD2HI :: ReplyCode
+ Irc.Codes: pattern RPL_LOCALUSERS :: ReplyCode
+ Irc.Codes: pattern RPL_LOGGEDIN :: ReplyCode
+ Irc.Codes: pattern RPL_LOGGEDOUT :: ReplyCode
+ Irc.Codes: pattern RPL_LOGOFF :: ReplyCode
+ Irc.Codes: pattern RPL_LOGON :: ReplyCode
+ Irc.Codes: pattern RPL_LUSERCHANNELS :: ReplyCode
+ Irc.Codes: pattern RPL_LUSERCLIENT :: ReplyCode
+ Irc.Codes: pattern RPL_LUSERME :: ReplyCode
+ Irc.Codes: pattern RPL_LUSEROP :: ReplyCode
+ Irc.Codes: pattern RPL_LUSERSTAFF :: ReplyCode
+ Irc.Codes: pattern RPL_LUSERUNKNOWN :: ReplyCode
+ Irc.Codes: pattern RPL_MAP :: ReplyCode
+ Irc.Codes: pattern RPL_MAPEND :: ReplyCode
+ Irc.Codes: pattern RPL_MODECHANGEWARN :: ReplyCode
+ Irc.Codes: pattern RPL_MODLIST :: ReplyCode
+ Irc.Codes: pattern RPL_MONLIST :: ReplyCode
+ Irc.Codes: pattern RPL_MONOFFLINE :: ReplyCode
+ Irc.Codes: pattern RPL_MONONLINE :: ReplyCode
+ Irc.Codes: pattern RPL_MOTD :: ReplyCode
+ Irc.Codes: pattern RPL_MOTDSTART :: ReplyCode
+ Irc.Codes: pattern RPL_MYINFO :: ReplyCode
+ Irc.Codes: pattern RPL_MYPORTIS :: ReplyCode
+ Irc.Codes: pattern RPL_NAMREPLY :: ReplyCode
+ Irc.Codes: pattern RPL_NAMREPLY_ :: ReplyCode
+ Irc.Codes: pattern RPL_NETSTAT :: ReplyCode
+ Irc.Codes: pattern RPL_NETWORKS :: ReplyCode
+ Irc.Codes: pattern RPL_NICKLOCKED :: ReplyCode
+ Irc.Codes: pattern RPL_NICKTRACE :: ReplyCode
+ Irc.Codes: pattern RPL_NOCHANPASS :: ReplyCode
+ Irc.Codes: pattern RPL_NONE :: ReplyCode
+ Irc.Codes: pattern RPL_NOTESTLINE :: ReplyCode
+ Irc.Codes: pattern RPL_NOTIFY :: ReplyCode
+ Irc.Codes: pattern RPL_NOTIFYACTION :: ReplyCode
+ Irc.Codes: pattern RPL_NOTOPERANYMORE :: ReplyCode
+ Irc.Codes: pattern RPL_NOTOPIC :: ReplyCode
+ Irc.Codes: pattern RPL_NOUSERS :: ReplyCode
+ Irc.Codes: pattern RPL_NOWAWAY :: ReplyCode
+ Irc.Codes: pattern RPL_NOWOFF :: ReplyCode
+ Irc.Codes: pattern RPL_NOWON :: ReplyCode
+ Irc.Codes: pattern RPL_OMOTD :: ReplyCode
+ Irc.Codes: pattern RPL_OMOTDSTART :: ReplyCode
+ Irc.Codes: pattern RPL_OTHERUMODEIS :: ReplyCode
+ Irc.Codes: pattern RPL_PRIVS :: ReplyCode
+ Irc.Codes: pattern RPL_QUIETLIST :: ReplyCode
+ Irc.Codes: pattern RPL_REDIR :: ReplyCode
+ Irc.Codes: pattern RPL_REHASHING :: ReplyCode
+ Irc.Codes: pattern RPL_REMOTESUPPORT :: ReplyCode
+ Irc.Codes: pattern RPL_RSACHALLENGE :: ReplyCode
+ Irc.Codes: pattern RPL_RSACHALLENGE2 :: ReplyCode
+ Irc.Codes: pattern RPL_RULES :: ReplyCode
+ Irc.Codes: pattern RPL_SASLABORTED :: ReplyCode
+ Irc.Codes: pattern RPL_SASLALREADY :: ReplyCode
+ Irc.Codes: pattern RPL_SASLFAIL :: ReplyCode
+ Irc.Codes: pattern RPL_SASLMECHS :: ReplyCode
+ Irc.Codes: pattern RPL_SASLSUCCESS :: ReplyCode
+ Irc.Codes: pattern RPL_SASLTOOLONG :: ReplyCode
+ Irc.Codes: pattern RPL_SAVENICK :: ReplyCode
+ Irc.Codes: pattern RPL_SCANMATCHED :: ReplyCode
+ Irc.Codes: pattern RPL_SCANUMODES :: ReplyCode
+ Irc.Codes: pattern RPL_SERVICE :: ReplyCode
+ Irc.Codes: pattern RPL_SERVICEINFO :: ReplyCode
+ Irc.Codes: pattern RPL_SERVLIST :: ReplyCode
+ Irc.Codes: pattern RPL_SERVLISTEND :: ReplyCode
+ Irc.Codes: pattern RPL_SERVMODEIS :: ReplyCode
+ Irc.Codes: pattern RPL_SETTINGS :: ReplyCode
+ Irc.Codes: pattern RPL_SILELIST :: ReplyCode
+ Irc.Codes: pattern RPL_SNOMASK :: ReplyCode
+ Irc.Codes: pattern RPL_SQLINE_NICK :: ReplyCode
+ Irc.Codes: pattern RPL_STARTTLS :: ReplyCode
+ Irc.Codes: pattern RPL_START_NETSTAT :: ReplyCode
+ Irc.Codes: pattern RPL_STATMEMTOT :: ReplyCode
+ Irc.Codes: pattern RPL_STATS :: ReplyCode
+ Irc.Codes: pattern RPL_STATSCLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSCOMMANDS :: ReplyCode
+ Irc.Codes: pattern RPL_STATSCONN :: ReplyCode
+ Irc.Codes: pattern RPL_STATSCOUNT :: ReplyCode
+ Irc.Codes: pattern RPL_STATSDEBUG :: ReplyCode
+ Irc.Codes: pattern RPL_STATSDELTA :: ReplyCode
+ Irc.Codes: pattern RPL_STATSDLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSHLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSIAUTH :: ReplyCode
+ Irc.Codes: pattern RPL_STATSILINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSKLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSLINKINFO :: ReplyCode
+ Irc.Codes: pattern RPL_STATSLLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSNLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSOLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSPING :: ReplyCode
+ Irc.Codes: pattern RPL_STATSPLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSQLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSSLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSULINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSUPTIME :: ReplyCode
+ Irc.Codes: pattern RPL_STATSVERBOSE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSXLINE :: ReplyCode
+ Irc.Codes: pattern RPL_STATSYLINE :: ReplyCode
+ Irc.Codes: pattern RPL_SUMMONING :: ReplyCode
+ Irc.Codes: pattern RPL_SUSERHOST :: ReplyCode
+ Irc.Codes: pattern RPL_TARGNOTIFY :: ReplyCode
+ Irc.Codes: pattern RPL_TARGUMODEG :: ReplyCode
+ Irc.Codes: pattern RPL_TESTLINE :: ReplyCode
+ Irc.Codes: pattern RPL_TESTMASK :: ReplyCode
+ Irc.Codes: pattern RPL_TESTMASKGECOS :: ReplyCode
+ Irc.Codes: pattern RPL_TEXT :: ReplyCode
+ Irc.Codes: pattern RPL_TIME :: ReplyCode
+ Irc.Codes: pattern RPL_TIMEONSERVERIS :: ReplyCode
+ Irc.Codes: pattern RPL_TOPIC :: ReplyCode
+ Irc.Codes: pattern RPL_TOPICWHOTIME :: ReplyCode
+ Irc.Codes: pattern RPL_TRACECLASS :: ReplyCode
+ Irc.Codes: pattern RPL_TRACECONNECTING :: ReplyCode
+ Irc.Codes: pattern RPL_TRACEHANDSHAKE :: ReplyCode
+ Irc.Codes: pattern RPL_TRACELINK :: ReplyCode
+ Irc.Codes: pattern RPL_TRACELOG :: ReplyCode
+ Irc.Codes: pattern RPL_TRACENEWTYPE :: ReplyCode
+ Irc.Codes: pattern RPL_TRACEOPERATOR :: ReplyCode
+ Irc.Codes: pattern RPL_TRACERECONNECT :: ReplyCode
+ Irc.Codes: pattern RPL_TRACEROUTE_HOP :: ReplyCode
+ Irc.Codes: pattern RPL_TRACEROUTE_START :: ReplyCode
+ Irc.Codes: pattern RPL_TRACESERVER :: ReplyCode
+ Irc.Codes: pattern RPL_TRACESERVICE :: ReplyCode
+ Irc.Codes: pattern RPL_TRACEUNKNOWN :: ReplyCode
+ Irc.Codes: pattern RPL_TRACEUSER :: ReplyCode
+ Irc.Codes: pattern RPL_UMODEGMSG :: ReplyCode
+ Irc.Codes: pattern RPL_UMODEIS :: ReplyCode
+ Irc.Codes: pattern RPL_UNAWAY :: ReplyCode
+ Irc.Codes: pattern RPL_UNKNOWNMODES :: ReplyCode
+ Irc.Codes: pattern RPL_USERHOST :: ReplyCode
+ Irc.Codes: pattern RPL_USERS :: ReplyCode
+ Irc.Codes: pattern RPL_USERSSTART :: ReplyCode
+ Irc.Codes: pattern RPL_VCHANHELP :: ReplyCode
+ Irc.Codes: pattern RPL_VCHANLIST :: ReplyCode
+ Irc.Codes: pattern RPL_VERSION :: ReplyCode
+ Irc.Codes: pattern RPL_WATCHCLEAR :: ReplyCode
+ Irc.Codes: pattern RPL_WATCHLIST :: ReplyCode
+ Irc.Codes: pattern RPL_WATCHOFF :: ReplyCode
+ Irc.Codes: pattern RPL_WATCHSTAT :: ReplyCode
+ Irc.Codes: pattern RPL_WELCOME :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISACCOUNT :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISACTUALLY :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISADMIN :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISCERTFP :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISCHANNELS :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISCHANOP :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISHELPER :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISHOST :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISIDLE :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISLANGUAGE :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISMODES :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISOPERATOR :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISREGNICK :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISSADMIN :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISSECURE :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISSERVER :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISSPECIAL :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISSTAFF :: ReplyCode
+ Irc.Codes: pattern RPL_WHOISUSER :: ReplyCode
+ Irc.Codes: pattern RPL_WHOREPLY :: ReplyCode
+ Irc.Codes: pattern RPL_WHOSPCRPL :: ReplyCode
+ Irc.Codes: pattern RPL_WHOWASHOST :: ReplyCode
+ Irc.Codes: pattern RPL_WHOWASREAL :: ReplyCode
+ Irc.Codes: pattern RPL_WHOWASUSER :: ReplyCode
+ Irc.Codes: pattern RPL_XINFO :: ReplyCode
+ Irc.Codes: pattern RPL_XINFOEND :: ReplyCode
+ Irc.Codes: pattern RPL_XINFOSTART :: ReplyCode
+ Irc.Codes: pattern RPL_YOURCOOKIE :: ReplyCode
+ Irc.Codes: pattern RPL_YOUREOPER :: ReplyCode
+ Irc.Codes: pattern RPL_YOURESERVICE :: ReplyCode
+ Irc.Codes: pattern RPL_YOURHOST :: ReplyCode
+ Irc.Codes: pattern RPL_YOURID :: ReplyCode
+ Irc.Codes: pattern RPL_YOURLANGUAGEIS :: ReplyCode
+ Irc.Commands: ircUserip :: [Text] -> RawIrcMsg
+ Irc.Commands: ircUsers :: Text -> RawIrcMsg
+ Irc.Commands: ircWallops :: Text -> RawIrcMsg
+ Irc.Message: Invite :: !UserInfo -> !Identifier -> !Identifier -> IrcMsg
- Irc.Message: Reply :: !ReplyCode -> [Text] -> IrcMsg
+ Irc.Message: Reply :: !Text -> !ReplyCode -> [Text] -> IrcMsg

Files

ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for irc-core +## 2.10++* Track servername in `Reply` constructor+ ## 2.9  * Move message hiding logic out of the IRC library
irc-core.cabal view
@@ -1,5 +1,5 @@ name:                irc-core-version:             2.9+version:             2.10 synopsis:            IRC core library for glirc description:         IRC core library for glirc                      .@@ -32,14 +32,14 @@                        Irc.UserInfo   other-modules:       View -  build-depends:       base       >=4.11 && <4.15,-                       base64-bytestring >= 1.0.0.1 && <1.1,+  build-depends:       base       >=4.11 && <4.16,+                       base64-bytestring >= 1.0.0.1 && <1.3,                        attoparsec >=0.13 && <0.14,-                       bytestring >=0.10 && <0.11,+                       bytestring >=0.10 && <0.12,                        hashable   >=1.2  && <1.4,                        primitive  >=0.6  && <0.8,                        text       >=1.2  && <1.3,-                       time       >=1.6  && <1.10,+                       time       >=1.6  && <1.12,                        vector     >=0.11 && <0.13    hs-source-dirs:      src
src/Irc/Codes.hs view
@@ -83,7 +83,6 @@ pattern RPL_UMODEIS                 = ReplyCode 221 pattern RPL_SQLINE_NICK             = ReplyCode 222 pattern RPL_STATSDLINE              = ReplyCode 225-pattern RPL_STATSZLINE              = ReplyCode 225 pattern RPL_STATSCOUNT              = ReplyCode 226 pattern RPL_SERVICEINFO             = ReplyCode 231 pattern RPL_ENDOFSERVICES           = ReplyCode 232@@ -168,7 +167,6 @@ pattern RPL_CHPASSUNKNOWN           = ReplyCode 327 pattern RPL_CHANNEL_URL             = ReplyCode 328 pattern RPL_CREATIONTIME            = ReplyCode 329-pattern RPL_WHOWAS_TIME             = ReplyCode 330 pattern RPL_WHOISACCOUNT            = ReplyCode 330 pattern RPL_NOTOPIC                 = ReplyCode 331 pattern RPL_TOPIC                   = ReplyCode 332@@ -513,7 +511,6 @@   , (RPL_UMODEIS               , ReplyCodeInfo CommandReply "umode-is")   , (RPL_SQLINE_NICK           , ReplyCodeInfo CommandReply "sqline-nick")   , (RPL_STATSDLINE            , ReplyCodeInfo CommandReply "stats-dline")-  , (RPL_STATSZLINE            , ReplyCodeInfo CommandReply "stats-zline")   , (RPL_STATSCOUNT            , ReplyCodeInfo CommandReply "stats-count")   , (RPL_SERVICEINFO           , ReplyCodeInfo CommandReply "service-info")   , (RPL_ENDOFSERVICES         , ReplyCodeInfo CommandReply "end-of-services")@@ -571,7 +568,7 @@   , (RPL_ISON                  , ReplyCodeInfo CommandReply "ison")   , (RPL_TEXT                  , ReplyCodeInfo CommandReply "text")   , (RPL_UNAWAY                , ReplyCodeInfo CommandReply "unaway")-  , (RPL_NOWAWAY               , ReplyCodeInfo CommandReply "nowaway")+  , (RPL_NOWAWAY               , ReplyCodeInfo CommandReply "now-away")   , (RPL_WHOISREGNICK          , ReplyCodeInfo CommandReply "whois-regnick")   , (RPL_SUSERHOST             , ReplyCodeInfo CommandReply "suserhost")   , (RPL_NOTIFYACTION          , ReplyCodeInfo CommandReply "notify-action")@@ -598,7 +595,6 @@   , (RPL_CHPASSUNKNOWN         , ReplyCodeInfo CommandReply "chpass-unknown")   , (RPL_CHANNEL_URL           , ReplyCodeInfo CommandReply "channel-url")   , (RPL_CREATIONTIME          , ReplyCodeInfo CommandReply "creation-time")-  , (RPL_WHOWAS_TIME           , ReplyCodeInfo CommandReply "whowas-time")   , (RPL_WHOISACCOUNT          , ReplyCodeInfo CommandReply "whois-account")   , (RPL_NOTOPIC               , ReplyCodeInfo CommandReply "notopic")   , (RPL_TOPIC                 , ReplyCodeInfo CommandReply "topic")
src/Irc/Commands.hs view
@@ -54,7 +54,10 @@   , ircUnkline   , ircUser   , ircUserhost+  , ircUserip+  , ircUsers   , ircVersion+  , ircWallops   , ircWho   , ircWhois   , ircWhowas@@ -80,7 +83,7 @@ import qualified Data.ByteString.Base64 as Enc  nonempty :: Text -> [Text]-nonempty txt = filter (not . Text.null) [txt]+nonempty txt = [txt | not (Text.null txt)]  -- | PRIVMSG command ircPrivmsg ::@@ -255,7 +258,7 @@ ircEtrace ::   Text {- ^ argument -} ->   RawIrcMsg-ircEtrace arg = rawIrcMsg "ETRACE" [arg]+ircEtrace arg = rawIrcMsg "ETRACE" (nonempty arg)  -- | REMOVE command ircRemove ::@@ -267,7 +270,7 @@  -- | QUIT command ircQuit :: Text {- ^ quit message -} -> RawIrcMsg-ircQuit = rawIrcMsg "QUIT" . nonempty+ircQuit msg = rawIrcMsg "QUIT" [msg]  -- | PASS command ircPass :: Text {- ^ password -} -> RawIrcMsg
src/Irc/Identifier.hs view
@@ -28,7 +28,6 @@ import           Data.Function import           Data.Hashable import           Data.Monoid-import           Data.Primitive.ByteArray import           Data.String import           Data.Text (Text) import qualified Data.Text as Text@@ -72,7 +71,7 @@  -- | Hash on normalized identifier instance Hashable Identifier where-  hashWithSalt salt (Identifier _ b@(ByteArray arr)) =+  hashWithSalt salt (Identifier _ b@(BA.ByteArray arr)) =     hashByteArrayWithSalt arr 0 (BA.sizeofByteArray b) salt  -- | @'fromString' = 'mkId' . 'fromString'
src/Irc/Message.hs view
@@ -47,7 +47,7 @@ -- | High-level IRC message representation data IrcMsg   = UnknownMsg !RawIrcMsg -- ^ pass-through for unhandled messages-  | Reply !ReplyCode [Text] -- ^ code arguments+  | Reply !Text !ReplyCode [Text] -- ^ server code arguments   | Nick !UserInfo !Identifier -- ^ old new   | Join !UserInfo !Identifier !Text !Text -- ^ user channel account account gecos   | Part !UserInfo !Identifier (Maybe Text) -- ^ user channel reason@@ -69,6 +69,7 @@   | Account !UserInfo !Text -- ^ user account name changed (account-notify extension)   | Chghost !UserInfo !Text !Text -- ^ Target, new username and new hostname   | Wallops  !UserInfo !Text -- ^ Braodcast message: Source, message+  | Invite !UserInfo !Identifier !Identifier -- ^ sender target channel   deriving Show  data CapMore = CapMore | CapDone@@ -102,8 +103,9 @@ cookIrcMsg :: RawIrcMsg -> IrcMsg cookIrcMsg msg =   case view msgCommand msg of-    cmd | Right (n,"") <- decimal cmd ->-        Reply (ReplyCode n) (view msgParams msg)+    cmd | Just user <- view msgPrefix msg+        , Right (n,"") <- decimal cmd ->+        Reply (idText (userNick user)) (ReplyCode n) (view msgParams msg)     "CAP" | _target:cmdTxt:rest <- view msgParams msg           , Just cmd <- cookCapCmd cmdTxt rest -> Cap cmd @@ -181,6 +183,10 @@               , [txt] <- view msgParams msg ->       Wallops user txt +    "INVITE" | Just user <- view msgPrefix msg+             , [target, channel] <- view msgParams msg ->+      Invite user (mkId target) (mkId channel)+     _      -> UnknownMsg msg  -- | Parse a CTCP encoded message:@@ -207,7 +213,7 @@ msgTarget me msg =   case msg of     UnknownMsg{}             -> TargetNetwork-    Nick user oldUser        -> TargetUser (userNick user)+    Nick user _              -> TargetUser (userNick user)     Mode _ tgt _ | tgt == me -> TargetNetwork                  | otherwise -> TargetWindow tgt     Join _ chan _ _          -> TargetWindow chan@@ -215,6 +221,7 @@     Quit user _              -> TargetUser (userNick user)     Kick _ chan _ _          -> TargetWindow chan     Topic _ chan _           -> TargetWindow chan+    Invite{}                 -> TargetNetwork     Privmsg src tgt _        -> directed src tgt     Ctcp src tgt _ _         -> directed src tgt     CtcpNotice src tgt _ _   -> directed src tgt@@ -224,7 +231,7 @@     Pong{}                   -> TargetNetwork     Error{}                  -> TargetNetwork     Cap{}                    -> TargetNetwork-    Reply code args          -> replyTarget code args+    Reply _ code args        -> replyTarget code args     BatchStart{}             -> TargetNetwork     BatchEnd{}               -> TargetNetwork     Account user _           -> TargetUser (userNick user)@@ -253,6 +260,7 @@     Kick x _ _ _  -> Just x     Topic x _ _   -> Just x     Privmsg x _ _ -> Just x+    Invite x _ _  -> Just x     Ctcp x _ _ _  -> Just x     CtcpNotice x _ _ _ -> Just x     Notice x _ _  -> Just x@@ -274,7 +282,7 @@ ircMsgText msg =   case msg of     UnknownMsg raw -> Text.unwords (view msgCommand raw : view msgParams raw)-    Reply (ReplyCode n) xs -> Text.unwords (Text.pack (show n) : xs)+    Reply srv (ReplyCode n) xs -> Text.unwords (srv : Text.pack (show n) : xs)     Nick x y       -> Text.unwords [renderUserInfo x, idText y]     Join x _ _ _   -> renderUserInfo x     Part x _ mb    -> Text.unwords (renderUserInfo x : maybeToList mb)@@ -294,6 +302,7 @@     Authenticate{} -> ""     BatchStart{}   -> ""     BatchEnd{}     -> ""+    Invite _ _ _   -> ""     Chghost x a b  -> Text.unwords [renderUserInfo x, a, b]     Wallops x t    -> Text.unwords [renderUserInfo x, t]