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 +4/−0
- irc-core.cabal +5/−5
- src/Irc/Codes.hs +1/−5
- src/Irc/Commands.hs +6/−3
- src/Irc/Identifier.hs +1/−2
- src/Irc/Message.hs +15/−6
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]