var searchIndex = {}; searchIndex["dazeus"] = {"doc":"DaZeus IRC bot bindings for [Rust](http://www.rust-lang.org/).","items":[[3,"DaZeus","dazeus","The base DaZeus struct.",null,null],[3,"InvalidJsonError","","Error returned when the passed Json did not have the required structure.",null,null],[3,"ParseEventTypeError","","Error returned when a string could not be parsed as an `EventType`.",null,null],[3,"ParseConfigGroupError","","Error returned when a string could not be parsed as a `ConfigGroup`.",null,null],[3,"ReceiveError","","Error when an unexpected or invalid response was received from DaZeus",null,null],[3,"Event","","An event received from the DaZeus server.",null,null],[12,"event","","The type of event that was received.",0,null],[12,"params","","The parameters attached to the event.",0,null],[3,"Response","","The response from a command send to the DaZeus server.",null,null],[3,"Scope","","A scope for retrieving permissions and properties.",null,null],[12,"network","","The network on which the scope is limited (if any).",1,null],[12,"sender","","The sender on which the scope is limited (if any).",1,null],[12,"receiver","","The receiver on which the scope is limited (if any).",1,null],[4,"Connection","","A connection enum that encapsulates TCP and Unix sockets.",null,null],[13,"Unix","","A Unix domain socket, as implemented by the `unix_socket` crate.",2,null],[13,"Tcp","","A TCP stream, as implemented by `std::net::TcpStream`.",2,null],[4,"Error","","",null,null],[13,"JsonParserError","","",3,null],[13,"IoError","","",3,null],[13,"Utf8Error","","",3,null],[13,"InvalidJsonError","","",3,null],[13,"ReceiveError","","",3,null],[4,"EventType","","The events that could possibly be received from the DaZeus server.",null,null],[13,"Action","","A CTCP ACTION event (IRC users will know this as `/me`).",4,null],[13,"ActionMe","","A CTCP ACTION sent by the bot from another plugin.",4,null],[13,"Command","","A command received by DaZeus.",4,null],[13,"Connect","","Signalling that the bot has connected to a new network.",4,null],[13,"Ctcp","","A CTCP event was sent.",4,null],[13,"CtcpMe","","A CTCP event sent by the bot (from another plugin).",4,null],[13,"CtcpReply","","A CTCP_REP event was sent.",4,null],[13,"Disconnect","","Signalling that the bot has disconnected from a network.",4,null],[13,"Invite","","An invite was sent to the bot.",4,null],[13,"Join","","A JOIN event: an IRC user joined a channel (this may be the bot itself, or another user).",4,null],[13,"Kick","","A KICK event: an IRC user was kicked from a channel (either the bot itself, or another user).",4,null],[13,"Mode","","A MODE event: a mode was changed.",4,null],[13,"Names","","A list of users from some channel (will be sent by the IRC server on request).",4,null],[13,"Nick","","An event for when the nickname of the bot was changed.",4,null],[13,"Notice","","A NOTICE event was sent.",4,null],[13,"Numeric","","A NUMERIC event was sent (typically contains things such as error messages from the server).",4,null],[13,"Part","","A PART event: an IRC user left a channel (this may be the bot itself, or another user).",4,null],[13,"Pong","","An event indicating the response for a ping.",4,null],[13,"PrivMsg","","A typical IRC message.",4,null],[13,"PrivMsgMe","","A message send by the bot itself via another plugin.",4,null],[13,"Quit","","A QUIT event: an IRC user disconnects from an IRC server.",4,null],[13,"Topic","","A TOPIC event: received when joining a channel or when the topic of a channel is changed.",4,null],[13,"Unknown","","Unknown event types.",4,null],[13,"Whois","","A WHOIS event: when requested, this is the response to some WHOIS request.",4,null],[4,"ConfigGroup","","The type of config that should be retrieved.",null,null],[13,"Plugin","","Indicates a config value that should be retrieved from the plugin settings.",5,null],[13,"Core","","Indicates a config value that should be retrieved from the core settings.",5,null],[4,"Request","","An enum of all requests that can be sent to your DaZeus instance.",null,null],[13,"Subscribe","","Subscribe to a certain event type.",6,null],[13,"Unsubscribe","","Unsubscribe from an event.",6,null],[13,"SubscribeCommand","","Subscribe to a command (optionally on a specific network).",6,null],[13,"Networks","","Retrieve a list of networks that the DaZeus core is currently connected to.",6,null],[13,"Channels","","Retrieve a list of channels on the specified network that the bot has joined.",6,null],[13,"Message","","Request to send a message to a specific target on some network.",6,null],[13,"Notice","","Request to send a notice to some target on some network.",6,null],[13,"Ctcp","","Request to send a CTCP message to some client on some network.",6,null],[13,"CtcpReply","","Request to send a CTCP message reply to some client on some network.",6,null],[13,"Action","","Request to send a CTCP ACTION message to some target on some network.",6,null],[13,"Names","","Request to send the list of names in some channel.",6,null],[13,"Whois","","Request to send a whois on some target.",6,null],[13,"Join","","Request to join a channel on some network.",6,null],[13,"Part","","Request to leave a channel on some network.",6,null],[13,"Nick","","Request the nickname of the bot on a network.",6,null],[13,"Handshake","","Request for a handshake to the DaZeus Core.",6,null],[13,"Config","","Retrieve some option from the DaZeus core config.",6,null],[13,"GetProperty","","Retrieve a property from the internal DaZeus core database.",6,null],[13,"SetProperty","","Set a property in the internal DaZeus core database.",6,null],[13,"UnsetProperty","","Remove a property from the internal DaZeus core database.",6,null],[13,"PropertyKeys","","Retrieve a set of keys that is available for some prefix and scope.",6,null],[13,"SetPermission","","Set a permission in the permission database of the DaZeus core.",6,null],[13,"HasPermission","","Request a permission to be retrieved from the permission database of the DaZeus core.",6,null],[13,"UnsetPermission","","Remove a permission from the permission database of the DaZeus core.",6,null],[5,"is_event_json","","Returns whether or not the given Json data could be a valid event object.",null,{"inputs":[{"name":"json"}],"output":{"name":"bool"}}],[11,"try_clone","","Try to duplicate the stream into two objects that reference the same underlying resource.",2,null],[11,"from_str","","Takes a string in the format type:connection_str and tries to connect\nto that location. Returns the connection inside an enum that can be used\ninside DaZeus directly.",2,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"read","","",2,null],[11,"write","","",2,null],[11,"flush","","",2,null],[11,"new","","Create a new instance of DaZeus from the given connection.",7,{"inputs":[{"name":"t"}],"output":{"name":"dazeus"}}],[11,"listen","","Loop wait for messages to receive in a blocking way.",7,null],[11,"subscribe","","Subscribe to an event type and call the callback function every time such an event occurs.",7,null],[11,"subscribe_command","","Subscribe to a command and call the callback function every time such a command occurs.",7,null],[11,"try_send","","Try to send a request to DaZeus",7,null],[11,"send","","Send a request to DaZeus and retrieve a Future in which the response will be contained.",7,null],[11,"unsubscribe","","Unsubscribe a listener for some event.",7,null],[11,"unsubscribe_all","","Remove all subscriptions for a specific event type.",7,null],[11,"has_any_subscription","","Check if there is any active listener for the given event type.",7,null],[11,"networks","","Retrieve the networks the bot is connected to.",7,null],[11,"channels","","Retrieve the channels the bot is in for a given network.",7,null],[11,"message","","Send a message to a specific channel using the PRIVMSG method.",7,null],[11,"notice","","Send a CTCP NOTICE to a specific channel.",7,null],[11,"ctcp","","Send a CTCP REQUEST to a specific channel.",7,null],[11,"ctcp_reply","","Send a CTCP REPLY to a specific channel.",7,null],[11,"action","","Send a CTCP ACTION to a specific channel",7,null],[11,"send_names","","Send a request for the list of nicks in a channel.",7,null],[11,"send_whois","","Send a request for a whois of a specific nick on some network.",7,null],[11,"join","","Try to join a channel on some network.",7,null],[11,"part","","Try to leave a channel on some network.",7,null],[11,"nick","","Retrieve the nickname of the bot on the given network.",7,null],[11,"handshake","","Send a handshake to the DaZeus core.",7,null],[11,"get_config","","Retrieve a config value from the DaZeus config.",7,null],[11,"get_highlight_char","","Retrieve the character that is used by the bot for highlighting.",7,null],[11,"get_property","","Retrieve a property stored in the bot database.",7,null],[11,"set_property","","Set a property to be stored in the bot database.",7,null],[11,"unset_property","","Remove a property stored in the bot database.",7,null],[11,"get_property_keys","","Retrieve a list of keys starting with the common prefix with the given scope.",7,null],[11,"set_permission","","Set a permission to either allow or deny for a specific scope.",7,null],[11,"has_permission","","Retrieve whether for some scope the given permission was set.",7,null],[11,"unset_permission","","Remove a set permission from the bot.",7,null],[11,"whois","","Send a whois request and wait for an event that answers this request (blocking).",7,null],[11,"names","","Send a names request and wait for an event that answers this request (blocking).",7,null],[11,"reply","","Send a reply in response to some event.",7,null],[11,"reply_with_notice","","Send a reply (as a notice) in response to some event.",7,null],[11,"reply_with_action","","Send a reply (as a ctcp action) in response to some event.",7,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"clone","","",4,null],[11,"fmt","","",4,null],[11,"to_string","","",4,null],[11,"from_str","","",4,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",0,null],[11,"new","","Create a new event based on the basic properties of an event.",0,{"inputs":[{"name":"eventtype"},{"name":"vec"}],"output":{"name":"event"}}],[11,"from_json","","Create a new event based on a Json data object.",0,{"inputs":[{"name":"json"}],"output":{"name":"result"}}],[11,"param","","Retrieve a parameter from the list of parameters contained in the event.",0,null],[11,"len","","Retrieve the number of parameters for the event.",0,null],[11,"index","","",0,null],[11,"eq","","",5,null],[11,"clone","","",5,null],[11,"fmt","","",5,null],[11,"to_string","","",5,null],[11,"from_str","","",5,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"clone","","",6,null],[11,"fmt","","",6,null],[11,"to_json","","",6,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"clone","","",8,null],[11,"fmt","","",8,null],[11,"for_fail","","Create a new response based upon a failure message.",8,{"inputs":[{"name":"str"}],"output":{"name":"response"}}],[11,"for_success","","Create a new response based upon a successful operation.",8,{"inputs":[],"output":{"name":"response"}}],[11,"from_json","","Create a new response based on a Json object.",8,{"inputs":[{"name":"json"}],"output":{"name":"result"}}],[11,"get_or","","Retrieve a property from the data object or return a default if it doesn't exist.",8,null],[11,"get","","Retrieve a property from the data object.",8,null],[11,"get_str","","Retrieve a string from the data object.",8,null],[11,"get_str_or","","Retrieve a string from the data object, or return a default if no such string can be found.",8,null],[11,"has","","Returns whether or not a property with the given name exists.",8,null],[11,"has_success","","Check whether a Response contains a `success` property and whether it was true.",8,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"clone","","",1,null],[11,"fmt","","",1,null],[11,"new","","Construct a new scope with the specified limitations for network, sender and receiver",1,{"inputs":[{"name":"option"},{"name":"option"},{"name":"option"}],"output":{"name":"scope"}}],[11,"any","","Scope to everyone and anything",1,{"inputs":[],"output":{"name":"scope"}}],[11,"network","","Scope to a specific network",1,{"inputs":[{"name":"str"}],"output":{"name":"scope"}}],[11,"sender","","Scope to a specific sender (typically a channel)",1,{"inputs":[{"name":"str"},{"name":"str"}],"output":{"name":"scope"}}],[11,"receiver","","Scope to a specific receiver (typically a user)",1,{"inputs":[{"name":"str"},{"name":"str"}],"output":{"name":"scope"}}],[11,"to","","Scope to a specific receiver and channel (typically a user in a channel)",1,{"inputs":[{"name":"str"},{"name":"str"},{"name":"str"}],"output":{"name":"scope"}}],[11,"is_any","","Checks whether the scope is set to be applied to everything.",1,null],[11,"to_json","","",1,null],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"clone","","",9,null],[11,"fmt","","",9,null],[11,"new","","Create a new error instance.",9,{"inputs":[{"name":"str"}],"output":{"name":"invalidjsonerror"}}],[11,"eq","","",10,null],[11,"ne","","",10,null],[11,"clone","","",10,null],[11,"fmt","","",10,null],[11,"new","","Create a new error instance.",10,{"inputs":[],"output":{"name":"parseeventtypeerror"}}],[11,"eq","","",11,null],[11,"ne","","",11,null],[11,"clone","","",11,null],[11,"fmt","","",11,null],[11,"new","","Create a new error instance.",11,{"inputs":[],"output":{"name":"parseconfiggrouperror"}}],[11,"eq","","",12,null],[11,"ne","","",12,null],[11,"clone","","",12,null],[11,"fmt","","",12,null],[11,"new","","",12,{"inputs":[],"output":{"name":"receiveerror"}}],[11,"fmt","","",3,null],[11,"from","","",3,{"inputs":[{"name":"ioerror"}],"output":{"name":"error"}}],[11,"from","","",3,{"inputs":[{"name":"utf8error"}],"output":{"name":"error"}}],[11,"from","","",3,{"inputs":[{"name":"jsonparsererror"}],"output":{"name":"error"}}],[11,"from","","",3,{"inputs":[{"name":"invalidjsonerror"}],"output":{"name":"error"}}],[11,"from","","",3,{"inputs":[{"name":"receiveerror"}],"output":{"name":"error"}}],[11,"fmt","","",3,null],[6,"ListenerHandle","","An identifier for unsubscribing an event listener.",null,null],[6,"Network","","A `String` for the target IRC network.",null,null],[6,"Message","","A `String` containing the message to be sent.",null,null],[6,"Target","","A `String` containing the target (receiver) of some command or message.",null,null],[6,"Command","","A `String` indicating the name of some command.",null,null],[6,"PluginName","","A `String` indicating the name of the plugin. This is used for retrieving configuration.",null,null],[6,"PluginVersion","","A `String` indicating the version of the protocol used by the bindings.",null,null],[17,"PROTOCOL_VERSION","","The version of the DaZeus plugin communication protocol that these bindings understand.",null,null],[8,"DaZeusClient","","Methods for interaction with the DaZeus server.",null,null],[10,"try_send","","Try to send a request to DaZeus",13,null],[10,"send","","Send a request to DaZeus and retrieve a Future in which the response will be contained.",13,null],[10,"unsubscribe","","Unsubscribe a listener for some event.",13,null],[10,"unsubscribe_all","","Remove all subscriptions for a specific event type.",13,null],[10,"has_any_subscription","","Check if there is any active listener for the given event type.",13,null],[10,"networks","","Retrieve the networks the bot is connected to.",13,null],[10,"channels","","Retrieve the channels the bot is in for a given network.",13,null],[10,"message","","Send a message to a specific channel using the PRIVMSG method.",13,null],[10,"notice","","Send a CTCP NOTICE to a specific channel.",13,null],[10,"ctcp","","Send a CTCP REQUEST to a specific channel.",13,null],[10,"ctcp_reply","","Send a CTCP REPLY to a specific channel.",13,null],[10,"action","","Send a CTCP ACTION to a specific channel",13,null],[10,"send_names","","Send a request for the list of nicks in a channel.",13,null],[10,"send_whois","","Send a request for a whois of a specific nick on some network.",13,null],[10,"join","","Try to join a channel on some network.",13,null],[10,"part","","Try to leave a channel on some network.",13,null],[10,"nick","","Retrieve the nickname of the bot on the given network.",13,null],[10,"handshake","","Send a handshake to the DaZeus core.",13,null],[10,"get_config","","Retrieve a config value from the DaZeus config.",13,null],[10,"get_highlight_char","","Retrieve the character that is used by the bot for highlighting.",13,null],[10,"get_property","","Retrieve a property stored in the bot database.",13,null],[10,"set_property","","Set a property to be stored in the bot database.",13,null],[10,"unset_property","","Remove a property stored in the bot database.",13,null],[10,"get_property_keys","","Retrieve a list of keys starting with the common prefix with the given scope.",13,null],[10,"set_permission","","Set a permission to either allow or deny for a specific scope.",13,null],[10,"has_permission","","Retrieve whether for some scope the given permission was set.",13,null],[10,"unset_permission","","Remove a set permission from the bot.",13,null],[10,"whois","","Send a whois request and wait for an event that answers this request (blocking).",13,null],[10,"names","","Send a names request and wait for an event that answers this request (blocking).",13,null],[10,"reply","","Send a reply in response to some event.",13,null],[10,"reply_with_notice","","Send a reply (as a notice) in response to some event.",13,null],[10,"reply_with_action","","Send a reply (as a ctcp action) in response to some event.",13,null]],"paths":[[3,"Event"],[3,"Scope"],[4,"Connection"],[4,"Error"],[4,"EventType"],[4,"ConfigGroup"],[4,"Request"],[3,"DaZeus"],[3,"Response"],[3,"InvalidJsonError"],[3,"ParseEventTypeError"],[3,"ParseConfigGroupError"],[3,"ReceiveError"],[8,"DaZeusClient"]]}; initSearch(searchIndex);