var searchIndex = {}; searchIndex["irc"] = {"doc":"A simple, thread-safe IRC library.","items":[[0,"client","irc","A simple, thread-safe IRC client library.",null,null],[0,"conn","irc::client","Thread-safe connections on IrcStreams.",null,null],[3,"Connection","irc::client::conn","A thread-safe connection.",null,null],[4,"NetStream","","An abstraction over different networked streams.",null,null],[13,"UnsecuredTcpStream","","An unsecured TcpStream.",0,null],[13,"SslTcpStream","","An SSL-secured TcpStream.\nThis is only available when compiled with SSL support.",0,null],[6,"NetConnection","","A Connection over a buffered NetStream.",null,null],[11,"connect","","Creates a thread-safe TCP connection to the specified server.",1,{"inputs":[{"name":"str"},{"name":"u16"}],"output":{"name":"result"}}],[11,"connect_ssl","","Creates a thread-safe TCP connection to the specified server over SSL.\nIf the library is compiled without SSL support, this method panics.",1,{"inputs":[{"name":"str"},{"name":"u16"}],"output":{"name":"result"}}],[11,"reconnect","","Reconnects to the specified server, dropping the current connection.",1,null],[11,"new","","Creates a new connection from an IrcReader and an IrcWriter.",1,{"inputs":[{"name":"t"},{"name":"u"}],"output":{"name":"connection"}}],[11,"send","","Sends a Message over this connection.",1,null],[11,"recv","","Receives a single line from this connection.",1,null],[11,"reader","","Acquires the Reader lock.",1,null],[11,"writer","","Acquires the Writer lock.",1,null],[11,"read","","",0,null],[11,"write","","",0,null],[11,"flush","","",0,null],[0,"data","irc::client","Data related to IRC functionality.",null,null],[0,"kinds","irc::client::data","Trait definitions of appropriate Writers and Buffers for use with this library.",null,null],[8,"IrcWrite","irc::client::data::kinds","Trait describing all possible Writers for this library.",null,null],[8,"IrcRead","","Trait describing all possible Readers for this library.",null,null],[0,"caps","irc::client::data","Enumeration of all supported IRCv3 capability extensions.",null,null],[4,"Capability","irc::client::data::caps","List of all supported IRCv3 capability extensions from the\n[IRCv3 specifications](http://ircv3.net/irc/).",null,null],[13,"MultiPrefix","","[multi-prefix](http://ircv3.net/specs/extensions/multi-prefix-3.1.html)",2,null],[13,"Sasl","","[sasl](http://ircv3.net/specs/extensions/sasl-3.1.html)",2,null],[13,"AccountNotify","","[account-notify](http://ircv3.net/specs/extensions/account-notify-3.1.html)",2,null],[13,"AwayNotify","","[away-notify](http://ircv3.net/specs/extensions/away-notify-3.1.html)",2,null],[13,"ExtendedJoin","","[extended-join](http://ircv3.net/specs/extensions/extended-join-3.1.html)",2,null],[13,"Metadata","","[metadata](http://ircv3.net/specs/core/metadata-3.2.html)",2,null],[13,"MetadataNotify","","[metadata-notify](http://ircv3.net/specs/core/metadata-3.2.html)",2,null],[13,"Monitor","","[monitor](http://ircv3.net/specs/core/monitor-3.2.html)",2,null],[13,"AccountTag","","[account-tag](http://ircv3.net/specs/extensions/account-tag-3.2.html)",2,null],[13,"Batch","","[batch](http://ircv3.net/specs/extensions/batch-3.2.html)",2,null],[13,"CapNotify","","[cap-notify](http://ircv3.net/specs/extensions/cap-notify-3.2.html)",2,null],[13,"ChgHost","","[chghost](http://ircv3.net/specs/extensions/chghost-3.2.html)",2,null],[13,"EchoMessage","","[echo-message](http://ircv3.net/specs/extensions/echo-message-3.2.html)",2,null],[13,"InviteNotify","","[invite-notify](http://ircv3.net/specs/extensions/invite-notify-3.2.html)",2,null],[13,"ServerTime","","[server-time](http://ircv3.net/specs/extensions/server-time-3.2.html)",2,null],[13,"UserhostInNames","","[userhost-in-names](http://ircv3.net/specs/extensions/userhost-in-names-3.2.html)",2,null],[13,"Custom","","Custom IRCv3 capability extensions",2,null],[4,"NegotiationVersion","","List of IRCv3 capability negotiation versions.",null,null],[13,"V301","","[IRCv3.1](http://ircv3.net/specs/core/capability-negotiation-3.1.html)",3,null],[13,"V302","","[IRCv3.2](http://ircv3.net/specs/core/capability-negotiation-3.2.html)",3,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"fmt","","",2,null],[11,"as_ref","","",2,null],[0,"command","irc::client::data","Enumeration of all available client commands.",null,null],[4,"Command","irc::client::data::command","List of all client commands as defined in [RFC 2812](http://tools.ietf.org/html/rfc2812). This\nalso includes commands from the\n[capabilities extension](https://tools.ietf.org/html/draft-mitchell-irc-capabilities-01).\nAdditionally, this includes some common additional commands from popular IRCds.",null,null],[13,"PASS","","PASS :password",4,null],[13,"NICK","","NICK :nickname",4,null],[13,"USER","","USER user mode * :realname",4,null],[13,"OPER","","OPER name :password",4,null],[13,"MODE","","MODE nickname modes\nMODE channel modes [modeparams]",4,null],[13,"SERVICE","","SERVICE nickname reserved distribution type reserved :info",4,null],[13,"QUIT","","QUIT :comment",4,null],[13,"SQUIT","","SQUIT server :comment",4,null],[13,"JOIN","","JOIN chanlist [chankeys]",4,null],[13,"PART","","PART chanlist :[comment]",4,null],[13,"TOPIC","","TOPIC channel :[topic]",4,null],[13,"NAMES","","NAMES [chanlist :[target]]",4,null],[13,"LIST","","LIST [chanlist :[target]]",4,null],[13,"INVITE","","INVITE nickname channel",4,null],[13,"KICK","","KICK chanlist userlist :[comment]",4,null],[13,"PRIVMSG","","PRIVMSG msgtarget :message",4,null],[13,"NOTICE","","NOTICE msgtarget :message",4,null],[13,"MOTD","","MOTD :[target]",4,null],[13,"LUSERS","","LUSERS [mask :[target]]",4,null],[13,"VERSION","","VERSION :[target]",4,null],[13,"STATS","","STATS [query :[target]]",4,null],[13,"LINKS","","LINKS [[remote server] server :mask]",4,null],[13,"TIME","","TIME :[target]",4,null],[13,"CONNECT","","CONNECT target server port :[remote server]",4,null],[13,"TRACE","","TRACE :[target]",4,null],[13,"ADMIN","","ADMIN :[target]",4,null],[13,"INFO","","INFO :[target]",4,null],[13,"SERVLIST","","SERVLIST [mask :[type]]",4,null],[13,"SQUERY","","SQUERY servicename text",4,null],[13,"WHO","","WHO [mask ["o"]]",4,null],[13,"WHOIS","","WHOIS [target] masklist",4,null],[13,"WHOWAS","","WHOWAS nicklist [count :[target]]",4,null],[13,"KILL","","KILL nickname :comment",4,null],[13,"PING","","PING server1 :[server2]",4,null],[13,"PONG","","PONG server :[server2]",4,null],[13,"ERROR","","ERROR :message",4,null],[13,"AWAY","","AWAY :[message]",4,null],[13,"REHASH","","REHASH",4,null],[13,"DIE","","DIE",4,null],[13,"RESTART","","RESTART",4,null],[13,"SUMMON","","SUMMON user [target :[channel]]",4,null],[13,"USERS","","USERS :[target]",4,null],[13,"WALLOPS","","WALLOPS :Text to be sent",4,null],[13,"USERHOST","","USERHOST space-separated nicklist",4,null],[13,"ISON","","ISON space-separated nicklist",4,null],[13,"SAJOIN","","SAJOIN nickname channel",4,null],[13,"SAMODE","","SAMODE target modes [modeparams]",4,null],[13,"SANICK","","SANICK old nickname new nickname",4,null],[13,"SAPART","","SAPART nickname :comment",4,null],[13,"SAQUIT","","SAQUIT nickname :comment",4,null],[13,"NICKSERV","","NICKSERV message",4,null],[13,"CHANSERV","","CHANSERV message",4,null],[13,"OPERSERV","","OPERSERV message",4,null],[13,"BOTSERV","","BOTSERV message",4,null],[13,"HOSTSERV","","HOSTSERV message",4,null],[13,"MEMOSERV","","MEMOSERV message",4,null],[13,"CAP","","CAP [*] COMMAND [*] :[param]",4,null],[13,"AUTHENTICATE","","AUTHENTICATE data",4,null],[13,"ACCOUNT","","ACCOUNT [account name]",4,null],[13,"METADATA","","METADATA target COMMAND [params] :[param]",4,null],[13,"MONITOR","","MONITOR command [nicklist]",4,null],[13,"BATCH","","BATCH (+/-)reference-tag [type [params]]",4,null],[13,"CHGHOST","","CHGHOST user host",4,null],[4,"CapSubCommand","","A list of all of the subcommands for the capabilities extension.",null,null],[13,"LS","","Requests a list of the server's capabilities.",5,null],[13,"LIST","","Requests a list of the server's capabilities.",5,null],[13,"REQ","","Requests specific capabilities blindly.",5,null],[13,"ACK","","Acknowledges capabilities.",5,null],[13,"NAK","","Does not acknowledge certain capabilities.",5,null],[13,"END","","Ends the capability negotiation before registration.",5,null],[13,"NEW","","Signals that new capabilities are now being offered.",5,null],[13,"DEL","","Signasl that the specified capabilities are cancelled and no longer available.",5,null],[4,"MetadataSubCommand","","A list of all the subcommands for the\n[metadata extension](http://ircv3.net/specs/core/metadata-3.2.html).",null,null],[13,"GET","","Looks up the value for some keys.",6,null],[13,"LIST","","Lists all of the metadata keys and values.",6,null],[13,"SET","","Sets the value for some key.",6,null],[13,"CLEAR","","Removes all metadata.",6,null],[4,"BatchSubCommand","","[batch extension](http://ircv3.net/specs/extensions/batch-3.2.html).",null,null],[13,"NETSPLIT","","[NETSPLIT](http://ircv3.net/specs/extensions/batch/netsplit.html)",7,null],[13,"NETJOIN","","[NETJOIN](http://ircv3.net/specs/extensions/batch/netsplit.html)",7,null],[13,"CUSTOM","","Vendor-specific BATCH subcommands.",7,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"fmt","","",4,null],[11,"into","","Converts a Command into a Message.",4,null],[11,"from_message_io","","Converts a potential Message result into a potential Command result.",4,{"inputs":[{"name":"result"}],"output":{"name":"result"}}],[11,"eq","","",5,null],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"to_str","","Gets the string that corresponds to this subcommand.",5,null],[11,"from_str","","",5,{"inputs":[{"name":"str"}],"output":{"name":"stdresult"}}],[11,"eq","","",6,null],[11,"fmt","","",6,null],[11,"clone","","",6,null],[11,"to_str","","Gets the string that corresponds to this subcommand.",6,null],[11,"from_str","","",6,{"inputs":[{"name":"str"}],"output":{"name":"stdresult"}}],[11,"eq","","",7,null],[11,"ne","","",7,null],[11,"fmt","","",7,null],[11,"clone","","",7,null],[11,"to_str","","Gets the string that corresponds to this subcommand.",7,null],[11,"from_str","","",7,{"inputs":[{"name":"str"}],"output":{"name":"stdresult"}}],[0,"config","irc::client::data","JSON configuration files using libserialize.",null,null],[3,"Config","irc::client::data::config","Configuration data.",null,null],[12,"owners","","A list of the owners of the bot by nickname.",8,null],[12,"nickname","","The bot's nickname.",8,null],[12,"nick_password","","The bot's NICKSERV password.",8,null],[12,"alt_nicks","","Alternative nicknames for the bots, if the default is taken.",8,null],[12,"username","","The bot's username.",8,null],[12,"realname","","The bot's real name.",8,null],[12,"server","","The server to connect to.",8,null],[12,"port","","The port to connect on.",8,null],[12,"password","","The password to connect to the server.",8,null],[12,"use_ssl","","Whether or not to use SSL.\nBots will automatically panic if this is enabled without SSL support.",8,null],[12,"encoding","","The encoding type used for this connection.\nThis is typically UTF-8, but could be something else.",8,null],[12,"channels","","A list of channels to join on connection.",8,null],[12,"umodes","","User modes to set on connect. Example: "+RB-x"",8,null],[12,"user_info","","The text that'll be sent in response to CTCP USERINFO requests.",8,null],[12,"options","","A map of additional options to be stored in config.",8,null],[11,"fmt","","",8,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"default","","",8,{"inputs":[],"output":{"name":"config"}}],[11,"encode","","",8,null],[11,"decode","","",8,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"clone","","",8,null],[11,"load","","Loads a JSON configuration from the desired path.",8,{"inputs":[{"name":"p"}],"output":{"name":"result"}}],[11,"save","","Saves a JSON configuration to the desired path.",8,null],[11,"is_owner","","Determines whether or not the nickname provided is the owner of the bot.",8,null],[11,"nickname","","Gets the nickname specified in the configuration.\nThis will panic if not specified.",8,null],[11,"nick_password","","Gets the bot's nickserv password specified in the configuration.\nThis defaults to an empty string when not specified.",8,null],[11,"get_alternate_nicknames","","Gets the alternate nicknames specified in the configuration.\nThis defaults to an empty vector when not specified.",8,null],[11,"username","","Gets the username specified in the configuration.\nThis defaults to the user's nickname when not specified.",8,null],[11,"real_name","","Gets the real name specified in the configuration.\nThis defaults to the user's nickname when not specified.",8,null],[11,"server","","Gets the address of the server specified in the configuration.\nThis panics when not specified.",8,null],[11,"port","","Gets the port of the server specified in the configuration.\nThis defaults to 6667 (or 6697 if use_ssl is specified as true) when not specified.",8,null],[11,"password","","Gets the server password specified in the configuration.\nThis defaults to a blank string when not specified.",8,null],[11,"use_ssl","","Gets whether or not to use SSL with this connection.\nThis defaults to false when not specified.",8,null],[11,"encoding","","Gets the encoding to use for this connection. This requires the encode feature to work.\nThis defaults to UTF-8 when not specified.",8,null],[11,"channels","","Gets the channels to join upon connection.\nThis defaults to an empty vector if it's not specified.",8,null],[11,"umodes","","Gets the user modes to set on connect specified in the configuration.\nThis defaults to an empty string when not specified.",8,null],[11,"user_info","","Gets the string to be sent in response to CTCP USERINFO requests.\nThis defaults to an empty string when not specified.",8,null],[11,"get_option","","Looks up the specified string in the options map.\nThis uses indexing, and thus panics when the string is not present.\nThis will also panic if used and there are no options.",8,null],[0,"message","irc::client::data","Messages to and from the server.",null,null],[3,"Message","irc::client::data::message","IRC Message data.",null,null],[12,"tags","","Message tags as defined by [IRCv3.2](http://ircv3.net/specs/core/message-tags-3.2.html).",9,null],[12,"prefix","","The message prefix (or source) as defined by [RFC 2812](http://tools.ietf.org/html/rfc2812).",9,null],[12,"command","","The IRC command as defined by [RFC 2812](http://tools.ietf.org/html/rfc2812).",9,null],[12,"args","","The command arguments.",9,null],[12,"suffix","","The message suffix as defined by [RFC 2812](http://tools.ietf.org/html/rfc2812).\nThis is the only part of the message that is allowed to contain spaces.",9,null],[3,"Tag","","A message tag as defined by [IRCv3.2](http://ircv3.net/specs/core/message-tags-3.2.html).",null,null],[11,"fmt","","",9,null],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"clone","","",9,null],[11,"new","","Creates a new Message.",9,{"inputs":[{"name":"option"},{"name":"str"},{"name":"option"},{"name":"option"}],"output":{"name":"message"}}],[11,"with_tags","","Creates a new Message optionally including IRCv3.2 message tags.",9,{"inputs":[{"name":"option"},{"name":"option"},{"name":"str"},{"name":"option"},{"name":"option"}],"output":{"name":"message"}}],[11,"from_owned","","Creates a new Message from already owned data.",9,{"inputs":[{"name":"option"},{"name":"string"},{"name":"option"},{"name":"option"}],"output":{"name":"message"}}],[11,"get_source_nickname","","Gets the nickname of the message source, if it exists.",9,null],[11,"into_string","","Converts a Message into a String according to the IRC protocol.",9,null],[11,"from_str","","",9,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"from","","",9,{"inputs":[{"name":"str"}],"output":{"name":"message"}}],[11,"fmt","","",10,null],[11,"eq","","",10,null],[11,"ne","","",10,null],[11,"clone","","",10,null],[0,"response","irc::client::data","Enumeration of all the possible server responses.",null,null],[4,"Response","irc::client::data::response","List of all server responses as defined in\n[RFC 2812](http://tools.ietf.org/html/rfc2812).\nAll commands are documented with their expected form from the RFC.",null,null],[13,"RPL_WELCOME","","001 Welcome to the Internet Relay Network <nick>!<user>@<host>",11,null],[13,"RPL_YOURHOST","","002 Your host is <servername>, running version <ver>",11,null],[13,"RPL_CREATED","","003 This server was created <date>",11,null],[13,"RPL_MYINFO","","004 <servername> <version> <available user modes> available channel modes>",11,null],[13,"RPL_BOUNCE","","005 Try server <server name>, port <port number>",11,null],[13,"RPL_USERHOST","","302 :*1<reply> *( " " <reply> )",11,null],[13,"RPL_ISON","","303 :*1<nick> *( " " <nick> )",11,null],[13,"RPL_AWAY","","301 <nick> :<away message>",11,null],[13,"RPL_UNAWAY","","305 :You are no longer marked as being away",11,null],[13,"RPL_NOWAWAY","","306 :You have been marked as being away",11,null],[13,"RPL_WHOISUSER","","311 <nick> <user> <host> * :<real name>",11,null],[13,"RPL_WHOISSERVER","","312 <nick> <server> :<server info>",11,null],[13,"RPL_WHOISOPERATOR","","313 <nick> :is an IRC operator",11,null],[13,"RPL_WHOISIDLE","","317 <nick> <integer> :seconds idle",11,null],[13,"RPL_ENDOFWHOIS","","318 <nick> :End of WHOIS list",11,null],[13,"RPL_WHOISCHANNELS","","319 <nick> :*( ( "@" / "+" ) <channel> " " )",11,null],[13,"RPL_WHOWASUSER","","314 <nick> <user> <host> * :<real name>",11,null],[13,"RPL_ENDOFWHOWAS","","369 <nick> :End of WHOWAS",11,null],[13,"RPL_LISTSTART","","Obsolete. Not used.",11,null],[13,"RPL_LIST","","322 <channel> <# visible> :<topic>",11,null],[13,"RPL_LISTEND","","323 :End of LIST",11,null],[13,"RPL_UNIQOPIS","","325 <channel> <nickname>",11,null],[13,"RPL_CHANNELMODEIS","","324 <channel> <mode> <mode params>",11,null],[13,"RPL_NOTOPIC","","331 <channel> :No topic is set",11,null],[13,"RPL_TOPIC","","332 <channel> :<topic>",11,null],[13,"RPL_INVITING","","341 <channel> <nick>",11,null],[13,"RPL_SUMMONING","","342 <user> :Summoning user to IRC",11,null],[13,"RPL_INVITELIST","","346 <channel> <invitemask>",11,null],[13,"RPL_ENDOFINVITELIST","","347 <channel> :End of channel invite list",11,null],[13,"RPL_EXCEPTLIST","","348 <channel> <exceptionmask>",11,null],[13,"RPL_ENDOFEXCEPTLIST","","349 <channel> :End of channel exception list",11,null],[13,"RPL_VERSION","","351 <version>.<debuglevel> <server> :<comments>",11,null],[13,"RPL_WHOREPLY","","352 <channel> <user> <host> <server> <nick> ( "H" / "G" > ["*"] [ ( "@" / "+" ) ]\n:<hopcount> <real name> *",11,null],[13,"RPL_ENDOFWHO","","315 <name> :End of WHO list",11,null],[13,"RPL_NAMREPLY","","353 ( "=" / "*" / "@" ) <channel> :[ "@" / "+" ] <nick> *( " " [ "@" / "+" ] <nick> )",11,null],[13,"RPL_ENDOFNAMES","","366 <channel> :End of NAMES list",11,null],[13,"RPL_LINKS","","364 <mask> <server> :<hopcount> <server info>",11,null],[13,"RPL_ENDOFLINKS","","365 <mask> :End of LINKS list",11,null],[13,"RPL_BANLIST","","367 <channel> <banmask>",11,null],[13,"RPL_ENDOFBANLIST","","368 <channel> :End of channel ban list",11,null],[13,"RPL_INFO","","371 :<string>",11,null],[13,"RPL_ENDOFINFO","","374 :End of INFO list",11,null],[13,"RPL_MOTDSTART","","375 :- <server> Message of the day -",11,null],[13,"RPL_MOTD","","372 :- <text>",11,null],[13,"RPL_ENDOFMOTD","","376 :End of MOTD command",11,null],[13,"RPL_YOUREOPER","","381 :You are now an IRC operator",11,null],[13,"RPL_REHASHING","","382 <config file> :Rehashing",11,null],[13,"RPL_YOURESERVICE","","383 You are service <servicename>",11,null],[13,"RPL_TIME","","391 <server> :<string showing server's local time>",11,null],[13,"RPL_USERSSTART","","392 :UserID Terminal Host",11,null],[13,"RPL_USERS","","393 :<username> <ttyline> <hostname>",11,null],[13,"RPL_ENDOFUSERS","","394 :End of users",11,null],[13,"RPL_NOUSERS","","395 :Nobody logged in",11,null],[13,"RPL_TRACELINK","","200 Link <version & debug level> <destination> <next server> V<protocol version>\n<link uptime in seconds> <backstream sendq> <upstream sendq> *",11,null],[13,"RPL_TRACECONNECTING","","201 Try. <class> <server>",11,null],[13,"RPL_TRACEHANDSHAKE","","202 H.S. <class> <server>",11,null],[13,"RPL_TRACEUKNOWN","","203 ???? <class> [<client IP address in dot form>]",11,null],[13,"RPL_TRACEOPERATOR","","204 Oper <class> <nick>",11,null],[13,"RPL_TRACEUSER","","205 User <class> <nick>",11,null],[13,"RPL_TRACESERVER","","206 Serv <class> <int>S <int>C <server> <nick!user|*!*>@<host|server> V<protocol version>",11,null],[13,"RPL_TRACESERVICE","","207 Service <class> <name> <type> <active type>",11,null],[13,"RPL_TRACENEWTYPE","","208 <newtype> 0 <client name>",11,null],[13,"RPL_TRACECLASS","","209 Class <class> <count>",11,null],[13,"RPL_TRACERECONNECT","","Unused.",11,null],[13,"RPL_TRACELOG","","261 File <logfile> <debug level>",11,null],[13,"RPL_TRACEEND","","262 <server name> <version & debug level> :End of TRACE",11,null],[13,"RPL_STATSLINKINFO","","211 <linkname> <sendq> <sent messages> <sent Kbytes> <received messages> <received Kbytes>\n<time open> *",11,null],[13,"RPL_STATSCOMMANDS","","212 <command> <count> <byte count> <remote count>",11,null],[13,"RPL_ENDOFSTATS","","219 <stats letter> :End of STATS report",11,null],[13,"RPL_STATSUPTIME","","242 :Server Up %d days %d:%02d:%02d",11,null],[13,"RPL_STATSOLINE","","O <hostmask> * <name>",11,null],[13,"RPL_UMODEIS","","221 <user mode string>",11,null],[13,"RPL_SERVLIST","","234 <name> <server> <mask> <type> <hopcount> <info>",11,null],[13,"RPL_SERVLISTEND","","235 <mask> <type> :End of service listing",11,null],[13,"RPL_LUSERCLIENT","","251 :There are <integer> users and <integer> services on <integer> servers",11,null],[13,"RPL_LUSEROP","","252 <integer> :operator(s) online",11,null],[13,"RPL_LUSERUNKNOWN","","253 <integer> :unknown connection(s)",11,null],[13,"RPL_LUSERCHANNELS","","254 <integer> :channels formed",11,null],[13,"RPL_LUSERME","","255 :I have <integer> clients and <integer> servers",11,null],[13,"RPL_ADMINME","","256 <server> :Administrative info",11,null],[13,"RPL_ADMINLOC1","","257 :<admin info>",11,null],[13,"RPL_ADMINLOC2","","258 :<admin info>",11,null],[13,"RPL_ADMINEMAIL","","259 :<admin info>",11,null],[13,"RPL_TRYAGAIN","","263 <command> :Please wait a while and try again.",11,null],[13,"RPL_MONONLINE","","730 <nick> :target[,target2]*",11,null],[13,"RPL_MONOFFLINE","","731 <nick> :target[,target2]*",11,null],[13,"RPL_MONLIST","","732 <nick> :target[,target2]*",11,null],[13,"RPL_ENDOFMONLIST","","733 <nick> :End of MONITOR list",11,null],[13,"RPL_WHOISKEYVALUE","","760 <target> <key> <visibility> :<value>",11,null],[13,"RPL_KEYVALUE","","761 <target> <key> <visibility> :[<value>]",11,null],[13,"RPL_METADATAEND","","762 :end of metadata",11,null],[13,"RPL_LOGGEDIN","","900 <nick> <nick>!<ident>@<host> <account> :You are now logged in as <user>",11,null],[13,"RPL_LOGGEDOUT","","901 <nick> <nick>!<ident>@<host> :You are now logged out",11,null],[13,"RPL_SASLSUCCESS","","903 <nick> :SASL authentication successful",11,null],[13,"RPL_SASLMECHS","","908 <nick> <mechanisms> :are available SASL mechanisms",11,null],[13,"ERR_NOSUCHNICK","","401 <nickname> :No such nick/channel",11,null],[13,"ERR_NOSUCHSERVER","","402 <server name> :No such server",11,null],[13,"ERR_NOSUCHCHANNEL","","403 <channel name> :No such channel",11,null],[13,"ERR_CANNOTSENDTOCHAN","","404 <channel name> :Cannot send to channel",11,null],[13,"ERR_TOOMANYCHANNELS","","405 <channel name> :You have joined too many channels",11,null],[13,"ERR_WASNOSUCHNICK","","406 <nickname> :There was no such nickname",11,null],[13,"ERR_TOOMANYTARGETS","","407 <target> :<error code> recipients. <abort message>",11,null],[13,"ERR_NOSUCHSERVICE","","408 <service name> :No such service",11,null],[13,"ERR_NOORIGIN","","409 :No origin specified",11,null],[13,"ERR_NORECIPIENT","","411 :No recipient given (<command>)",11,null],[13,"ERR_NOTEXTTOSEND","","412 :No text to send",11,null],[13,"ERR_NOTOPLEVEL","","413 <mask> :No toplevel domain specified",11,null],[13,"ERR_WILDTOPLEVEL","","414 <mask> :Wildcard in toplevel domain",11,null],[13,"ERR_BADMASK","","415 <mask> :Bad Server/host mask",11,null],[13,"ERR_UNKNOWNCOMMAND","","421 <command> :Unknown command",11,null],[13,"ERR_NOMOTD","","422 :MOTD File is missing",11,null],[13,"ERR_NOADMININFO","","423 <server> :No administrative info available",11,null],[13,"ERR_FILEERROR","","424 :File error doing <file op> on <file>",11,null],[13,"ERR_NONICKNAMEGIVEN","","431 :No nickname given",11,null],[13,"ERR_ERRONEOUSNICKNAME","","432 <nick> :Erroneous nickname"",11,null],[13,"ERR_NICKNAMEINUSE","","433 <nick> :Nickname is already in use",11,null],[13,"ERR_NICKCOLLISION","","436 <nick> :Nickname collision KILL from <user>@<host>",11,null],[13,"ERR_UNAVAILRESOURCE","","437 <nick/channel> :Nick/channel is temporarily unavailable",11,null],[13,"ERR_USERNOTINCHANNEL","","441 <nick> <channel> :They aren't on that channel",11,null],[13,"ERR_NOTONCHANNEL","","442 <channel> :You're not on that channel",11,null],[13,"ERR_USERONCHANNEL","","443 <user> <channel> :is already on channel",11,null],[13,"ERR_NOLOGIN","","444 <user> :User not logged in",11,null],[13,"ERR_SUMMONDISABLED","","445 :SUMMON has been disabled",11,null],[13,"ERR_USERSDISABLED","","446 :USERS has been disabled",11,null],[13,"ERR_NOTREGISTERED","","451 :You have not registered",11,null],[13,"ERR_NEEDMOREPARAMS","","461 <command> :Not enough parameters",11,null],[13,"ERR_ALREADYREGISTRED","","462 :Unauthorized command (already registered)",11,null],[13,"ERR_NOPERMFORHOST","","463 :Your host isn't among the privileged",11,null],[13,"ERR_PASSWDMISMATCH","","464 :Password incorrect",11,null],[13,"ERR_YOUREBANNEDCREEP","","465 :You are banned from this server",11,null],[13,"ERR_YOUWILLBEBANNED","","466",11,null],[13,"ERR_KEYSET","","467 <channel> :Channel key already set",11,null],[13,"ERR_CHANNELISFULL","","471 <channel> :Cannot join channel (+l)",11,null],[13,"ERR_UNKNOWNMODE","","472 <char> :is unknown mode char to me for <channel>",11,null],[13,"ERR_INVITEONLYCHAN","","473 <channel> :Cannot join channel (+i)",11,null],[13,"ERR_BANNEDFROMCHAN","","474 <channel> :Cannot join channel (+b)",11,null],[13,"ERR_BADCHANNELKEY","","475 <channel> :Cannot join channel (+k)",11,null],[13,"ERR_BADCHANMASK","","476 <channel> :Bad Channel Mask",11,null],[13,"ERR_NOCHANMODES","","477 <channel> :Channel doesn't support modes",11,null],[13,"ERR_BANLISTFULL","","478 <channel> <char> :Channel list is full",11,null],[13,"ERR_NOPRIVILEGES","","481 :Permission Denied- You're not an IRC operator",11,null],[13,"ERR_CHANOPRIVSNEEDED","","482 <channel> :You're not channel operator",11,null],[13,"ERR_CANTKILLSERVER","","483 :You can't kill a server!",11,null],[13,"ERR_RESTRICTED","","484 :Your connection is restricted!",11,null],[13,"ERR_UNIQOPPRIVSNEEDED","","485 :You're not the original channel operator",11,null],[13,"ERR_NOOPERHOST","","491 :No O-lines for your host",11,null],[13,"ERR_UMODEUNKNOWNFLAG","","501 :Unknown MODE flag",11,null],[13,"ERR_USERSDONTMATCH","","502 :Cannot change mode for other users",11,null],[13,"ERR_MONLISTFULL","","734 <nick> <limit> <targets> :Monitor list is full.",11,null],[13,"ERR_METADATALIMIT","","764 <target> :metadata limit reached",11,null],[13,"ERR_TARGETINVALID","","765 <target> :invalid metadata target",11,null],[13,"ERR_NOMATCHINGKEY","","766 <key> :no matching key",11,null],[13,"ERR_KEYINVALID","","767 <key> :invalid metadata key",11,null],[13,"ERR_KEYNOTSET","","768 <target> <key> :key not set",11,null],[13,"ERR_KEYNOPERMISSION","","769 <target> <key> :permission denied",11,null],[13,"ERR_NICKLOCKED","","902 <nick> :You must use a nick assigned to you.",11,null],[13,"ERR_SASLFAIL","","904 <nick> :SASL authentication failed",11,null],[13,"ERR_SASLTOOLONG","","905 <nick> :SASL message too long",11,null],[13,"ERR_SASLABORT","","906 <nick> :SASL authentication aborted",11,null],[13,"ERR_SASLALREADY","","907 <nick> :You have already authenticated using SASL",11,null],[11,"eq","","",11,null],[11,"fmt","","",11,null],[11,"clone","","",11,null],[11,"from_message","","Gets a response from a message.",11,{"inputs":[{"name":"message"}],"output":{"name":"option"}}],[11,"is_error","","Determines whether or not this response is an error response.",11,null],[11,"from_str","","",11,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[0,"user","irc::client::data","Data for tracking user information.",null,null],[3,"User","irc::client::data::user","IRC User data.",null,null],[4,"AccessLevel","","The user's access level.",null,null],[13,"Owner","","The channel owner (~).",12,null],[13,"Admin","","A channel administrator (&).",12,null],[13,"Oper","","A channel operator (@),",12,null],[13,"HalfOp","","A channel half-oper (%),",12,null],[13,"Voice","","A user with voice (+),",12,null],[13,"Member","","A normal user,",12,null],[11,"fmt","","",13,null],[11,"clone","","",13,null],[11,"new","","Creates a new User.",13,{"inputs":[{"name":"str"}],"output":{"name":"user"}}],[11,"get_nickname","","Gets the nickname of the user.",13,null],[11,"get_username","","Gets the username of the user, if it's known.\nThis requires the IRCv3.2 extension `userhost-in-name`.",13,null],[11,"get_hostname","","Gets the hostname of the user, if it's known.\nThis requires the IRCv3.2 extension `userhost-in-name`.",13,null],[11,"highest_access_level","","Gets the user's highest access level.",13,null],[11,"access_levels","","Gets all the user's access levels.",13,null],[11,"update_access_level","","Updates the user's access level.",13,null],[11,"eq","","",13,null],[11,"fmt","","",12,null],[11,"clone","","",12,null],[11,"eq","","",12,null],[11,"partial_cmp","","",12,null],[11,"from_str","","",12,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[0,"server","irc::client","Interface for working with IRC Servers.",null,null],[3,"IrcServer","irc::client::server","A thread-safe implementation of an IRC Server connection.",null,null],[3,"ServerIterator","","An Iterator over an IrcServer's incoming Messages.",null,null],[0,"utils","","Utilities and shortcuts for working with IRC servers.",null,null],[8,"ServerExt","irc::client::server::utils","Extensions for Server capabilities that make it easier to work directly with the protocol.",null,null],[11,"send_cap_ls","","Sends a request for a list of server capabilities for a specific IRCv3 version.",14,null],[11,"send_cap_req","","Sends an IRCv3 capabilities request for the specified extensions.",14,null],[11,"identify","","Sends a CAP END, NICK and USER to identify.",14,null],[11,"send_sasl","","Sends a SASL AUTHENTICATE message with the specified data.",14,null],[11,"send_sasl_plain","","Sends a SASL AUTHENTICATE request to use the PLAIN mechanism.",14,null],[11,"send_sasl_external","","Sends a SASL AUTHENTICATE request to use the EXTERNAL mechanism.",14,null],[11,"send_sasl_abort","","Sends a SASL AUTHENTICATE request to abort authentication.",14,null],[11,"send_pong","","Sends a PONG with the specified message.",14,null],[11,"send_join","","Joins the specified channel or chanlist.",14,null],[11,"send_oper","","Attempts to oper up using the specified username and password.",14,null],[11,"send_privmsg","","Sends a message to the specified target.",14,null],[11,"send_notice","","Sends a notice to the specified target.",14,null],[11,"send_topic","","Sets the topic of a channel or requests the current one.\nIf `topic` is an empty string, it won't be included in the message.",14,null],[11,"send_kill","","Kills the target with the provided message.",14,null],[11,"send_kick","","Kicks the listed nicknames from the listed channels with a comment.\nIf `message` is an empty string, it won't be included in the message.",14,null],[11,"send_mode","","Changes the mode of the target.\nIf `modeparmas` is an empty string, it won't be included in the message.",14,null],[11,"send_samode","","Changes the mode of the target by force.\nIf `modeparams` is an empty string, it won't be included in the message.",14,null],[11,"send_sanick","","Forces a user to change from the old nickname to the new nickname.",14,null],[11,"send_invite","","Invites a user to the specified channel.",14,null],[11,"send_quit","","Quits the server entirely with a message.\nThis defaults to `Powered by Rust.` if none is specified.",14,null],[11,"send_ctcp","","Sends a CTCP-escaped message to the specified target.\nThis requires the CTCP feature to be enabled.",14,null],[11,"send_action","","Sends an action command to the specified target.\nThis requires the CTCP feature to be enabled.",14,null],[11,"send_finger","","Sends a finger request to the specified target.\nThis requires the CTCP feature to be enabled.",14,null],[11,"send_version","","Sends a version request to the specified target.\nThis requires the CTCP feature to be enabled.",14,null],[11,"send_source","","Sends a source request to the specified target.\nThis requires the CTCP feature to be enabled.",14,null],[11,"send_user_info","","Sends a user info request to the specified target.\nThis requires the CTCP feature to be enabled.",14,null],[11,"send_ctcp_ping","","Sends a finger request to the specified target.\nThis requires the CTCP feature to be enabled.",14,null],[11,"send_time","","Sends a time request to the specified target.\nThis requires the CTCP feature to be enabled.",14,null],[6,"NetIrcServer","irc::client::server","An IrcServer over a buffered NetStream.",null,null],[6,"ServerCmdIterator","","An Iterator over an IrcServer's incoming Commands.",null,null],[8,"Server","","Trait describing core Server functionality.",null,null],[10,"config","","Gets the configuration being used with this Server.",15,null],[10,"send","","Sends a Command to this Server.",15,null],[10,"iter","","Gets an Iterator over Messages received by this Server.",15,null],[10,"iter_cmd","","Gets an Iterator over Commands received by this Server.",15,null],[10,"list_users","","Gets a list of Users in the specified channel. This will be none if the channel is not\nbeing tracked, or if tracking is not supported altogether. For best results, be sure to\nrequest `multi-prefix` support from the server.",15,null],[11,"new","","Creates a new IRC Server connection from the configuration at the specified path,\nconnecting immediately.",16,{"inputs":[{"name":"p"}],"output":{"name":"result"}}],[11,"from_config","","Creates a new IRC server connection from the specified configuration, connecting\nimmediately.",16,{"inputs":[{"name":"config"}],"output":{"name":"result"}}],[11,"reconnect","","Reconnects to the IRC server.",16,null],[11,"config","","",16,null],[11,"send","","",16,null],[11,"iter","","",16,null],[11,"iter_cmd","","",16,null],[11,"list_users","","",16,null],[11,"from_connection","","Creates an IRC server from the specified configuration, and any arbitrary Connection.",16,{"inputs":[{"name":"config"},{"name":"connection"}],"output":{"name":"ircserver"}}],[11,"conn","","Gets a reference to the IRC server's connection.",16,null],[11,"new","","Creates a new ServerIterator for the desired IrcServer.",17,{"inputs":[{"name":"ircserver"}],"output":{"name":"serveriterator"}}],[11,"next","","",17,null],[0,"prelude","irc::client","A client-side IRC prelude, re-exporting all the necessary basics.",null,null],[0,"server","irc","A simple, thread-safe IRC server library.\nThe server module is currently unimplimented. Visit \nhttps://github.com/aatxe/irc/issues/22 to contribute!",null,null]],"paths":[[4,"NetStream"],[3,"Connection"],[4,"Capability"],[4,"NegotiationVersion"],[4,"Command"],[4,"CapSubCommand"],[4,"MetadataSubCommand"],[4,"BatchSubCommand"],[3,"Config"],[3,"Message"],[3,"Tag"],[4,"Response"],[4,"AccessLevel"],[3,"User"],[8,"ServerExt"],[8,"Server"],[3,"IrcServer"],[3,"ServerIterator"]]}; initSearch(searchIndex);