src/libquassel.js
function splitOnce(str, character) {
  const i = str.indexOf(character);
  return [ str.slice(0, i), str.slice(i+1) ];
}
function splitOnce(str, character) {
  const i = str.indexOf(character);
  return [ str.slice(0, i), str.slice(i+1) ];
}
function splitOnce ( str , character ) { const i = str . indexOf ( character ) ; return [ str . slice ( 0 , i ) , str . slice ( i + 1 ) ] ; }
This event is fired when quasselcore information are received
@typedef {Event} Event:coreinfoinit
@property {Object} data
@property {boolean} data.Configured - Is the core configured
@property {number} data.CoreFeatures
@property {String} data.CoreInfo
@property {boolean} data.LoginEnabled
@property {boolean} data.MsgType - Is always "ClientInitAck"
@property {number} data.ProtocolVersion
@property {Array} [data.StorageBackends]
@property {boolean} data.SupportSsl
@property {boolean} data.SupportsCompression
 
This event is fired upon successful login
@typedef {Event} Event:login
 
This event is fired upon unsuccessful login
@typedef {Event} Event:loginfailed
 
This event is fired upon successful session initialization
@typedef {Event} Event:init
@property {Object} obj
 
This event is fired when {@link Identity} objects are first initialized
@typedef {Event} Event:identities.init
@property {Map<number, Identity>} identities
 
This event is fired when a buffer is added to a network
@typedef {Event} Event:network.addbuffer
@property {number} networkId
@property {number|String} bufferId
 
Network latency value
@typedef {Event} Event:network.latency
@property {number} networkId
@property {number} value
 
Network connection state
@typedef {Event} Event:network.connectionstate
@property {number} networkId
@property {number} connectionState
 
This event is fired when a network state is switched to connected
@typedef {Event} Event:network.connected
@property {number} networkId
 
This event is fired when a network state is switched to disconnected
@typedef {Event} Event:network.disconnected
@property {number} networkId
 
This event is fired when a user is renamed on a network
@typedef {Event} Event:network.userrenamed
@property {number} networkId
@property {String} oldNick
@property {String} nick
 
This event is fired when current connected user is renamed on a network
@typedef {Event} Event:network.mynick
@property {number} networkId
@property {String} nick
 
This event is fired when the name of a network changes
@typedef {Event} Event:network.networkname
@property {number} networkId
@property {String} networkName
 
This event is fired when the server on which a network is connected changes
@typedef {Event} Event:network.server
@property {number} networkId
@property {String} server
 
This event is fired when a network server list is updated
@typedef {Event} Event:network.serverlist
@property {number} networkId
@property {Object[]} serverlist
 
Fired when encoding for sent messages has changed
@typedef {Event} Event:network.codec.decoding
@property {number} networkId
@property {String} codec
 
Fired when encoding for received messages has changed
@typedef {Event} Event:network.codec.encoding
@property {number} networkId
@property {String} codec
 
Fired when server encoding has changed
@typedef {Event} Event:network.codec.server
@property {number} networkId
@property {String} codec
 
Fired when the list of commands to perform on connection to a server has changed
@typedef {Event} Event:network.perform
@property {number} networkId
@property {String[]} commands
 
Fired when the network identity changed
@typedef {Event} Event:network.identity
@property {number} networkId
@property {number} identityId
 
Fired when interval value for reconnecting to the network changed
@typedef {Event} Event:network.autoreconnect.interval
@property {number} networkId
@property {number} interval
 
Fired when retries value for reconnecting to the network changed
@typedef {Event} Event:network.autoreconnect.retries
@property {number} networkId
@property {number} retries
 
Fired when auto identify service changed
@typedef {Event} Event:network.autoidentify.service
@property {number} networkId
@property {String} service
 
Fired when auto identify service password changed
@typedef {Event} Event:network.autoidentify.password
@property {number} networkId
@property {String} password
 
Fired when Unlimited reconnect retries value has changed
@typedef {Event} Event:network.unlimitedreconnectretries
@property {number} networkId
@property {boolean} unlimitedreconnectretries
 
Fired when Use Sasl value has changed
@typedef {Event} Event:network.usesasl
@property {number} networkId
@property {boolean} usesasl
 
Fired when Sasl account has changed
@typedef {Event} Event:network.sasl.account
@property {number} networkId
@property {String} account
 
Fired when Sasl account password has changed
@typedef {Event} Event:network.sasl.password
@property {number} networkId
@property {String} password
 
Fired when Rejoin Channels value has changed
@typedef {Event} Event:network.rejoinchannels
@property {number} networkId
@property {boolean} rejoinchannels
 
Fired when Use Custom Message Rate value has changed
@typedef {Event} Event:network.usecustommessagerate
@property {number} networkId
@property {boolean} usecustommessagerate
 
Fired when Unlimited Message Rate Burst Size value has changed
@typedef {Event} Event:network.messagerate.unlimited
@property {number} networkId
@property {boolean} unlimited
 
Fired when Message Rate Burst Size value has changed
@typedef {Event} Event:network.messagerate.burstsize
@property {number} networkId
@property {number} burstsize
 
Fired when Message Rate Delay value has changed
@typedef {Event} Event:network.messagerate.delay
@property {number} networkId
@property {number} delay
 
Buffer has been marked as read
@typedef {Event} Event:buffer.read
@property {number} bufferId
 
Buffer's last seen message updated
@typedef {Event} Event:buffer.lastseen
@property {number} bufferId
@property {number} messageId
 
Buffer's markeline attached to a message
@typedef {Event} Event:buffer.markerline
@property {number} bufferId
@property {number} messageId
 
Buffer's activity which represents all unread message types for this buffer
@typedef {Event} Event:buffer.activity
@property {number} bufferId
@property {number} unreadTypes
 
Buffer has been removed
@typedef {Event} Event:buffer.remove
@property {number} bufferId
 
Buffer has been renamed
@typedef {Event} Event:buffer.rename
@property {number} bufferId
 
bufferId2 has been merged into bufferId1
@typedef {Event} Event:buffer.merge
@property {number} bufferId1
@property {number} bufferId2
 
Buffer's hidden state removed
@typedef {Event} Event:bufferview.bufferunhide
@property {number} bufferViewId
@property {number} bufferId
 
Buffer's hidden state set
@typedef {Event} Event:bufferview.bufferhidden
@property {number} bufferViewId
@property {number} bufferId
@property {String} type Either "temp" or "perm"
 
Buffer set as inactive
@typedef {Event} Event:buffer.deactivate
@property {number} bufferId
 
User has left a channel
@typedef {Event} Event:user.part
@property {number} networkId
@property {String} nick
@property {number} bufferId
 
User has left a network
@typedef {Event} Event:user.quit
@property {number} networkId
@property {String} nick
 
User away state changed
@typedef {Event} Event:user.away
@property {number} networkId
@property {String} nick
@property {boolean} isAway
 
User realname changed
@typedef {Event} Event:user.realname
@property {number} networkId
@property {String} nick
@property {String} realname
 
User joined a channel
@typedef {Event} Event:channel.join
@property {number} bufferId
@property {String} nick
 
User mode has been added
@typedef {Event} Event:channel.addusermode
@property {number} bufferId
@property {String} nick
@property {String} mode
 
User mode has been removed
@typedef {Event} Event:channel.removeusermode
@property {number} bufferId
@property {String} nick
@property {String} mode
 
Channel topic changed
@typedef {Event} Event:channel.topic
@property {number} bufferId
@property {String} topic
 
Core information
@typedef {Event} Event:coreinfo
@property {Object} data
 
{@link IRCBuffer} activated
@typedef {Event} Event:buffer.activate
@property {number} bufferId
 
Backlogs received
@typedef {Event} Event:buffer.backlog
@property {number} bufferId
@property {number[]} messageIds
 
{@link IRCMessage} received on a buffer
@typedef {Event} Event:buffer.message
@property {number} bufferId
@property {number} messageId
 
Buffers order changed
@typedef {Event} Event:bufferview.orderchanged
@property {number} bufferViewId
 
{@link BufferView} manager init request received
@typedef {Event} Event:bufferview.ids
@property {number[]} ids
 
{@link BufferView} initialized
@typedef {Event} Event:bufferview.init
@property {number} bufferViewId
 
{@link BufferView} networkId updated
@typedef {Event} Event:bufferview.networkid
@property {number} bufferViewId
@property {number} networkId
 
{@link BufferView} search updated
@typedef {Event} Event:bufferview.search
@property {number} bufferViewId
@property {boolean} search
 
{@link BufferView} hideInactiveNetworks updated
@typedef {Event} Event:bufferview.hideinactivenetworks
@property {number} bufferViewId
@property {boolean} hideinactivenetworks
 
{@link BufferView} hideInactiveBuffers updated
@typedef {Event} Event:bufferview.hideinactivebuffers
@property {number} bufferViewId
@property {boolean} hideinactivebuffers
 
{@link BufferView} allowedBufferTypes updated
@typedef {Event} Event:bufferview.allowedbuffertypes
@property {number} bufferViewId
@property {number} allowedbuffertypes
 
{@link BufferView} addNewBuffersAutomatically updated
@typedef {Event} Event:bufferview.addnewbuffersautomatically
@property {number} bufferViewId
@property {boolean} addnewbuffersautomatically
 
{@link BufferView} minimumActivity updated
@typedef {Event} Event:bufferview.minimumactivity
@property {number} bufferViewId
@property {boolean} minimumactivity
 
{@link BufferView} bufferViewName updated
@typedef {Event} Event:bufferview.bufferviewname
@property {number} bufferViewId
@property {String} bufferviewname
 
{@link BufferView} disableDecoration updated
@typedef {Event} Event:bufferview.disabledecoration
@property {number} bufferViewId
@property {boolean} disabledecoration
 
{@link BufferView} object updated
@typedef {Event} Event:bufferview.update
@property {number} bufferViewId
@property {object} data
 
{@link IgnoreList} updated
@typedef {Event} Event:ignorelist
 
{@link HighLightRuleManager} updated
@typedef {Event} Event:highlightrules
 
{@link Identity} updated
@typedef {Event} Event:identity
 
New {@link Identity} created
@typedef {Event} Event:identity.new
@property {number} identityId
 
{@link Identity} removed
@typedef {Event} Event:identity.remove
@property {number} identityId
 
User connected to the {@link Network}
@typedef {Event} Event:network.adduser
@property {number} networkId
@property {String} nick
 
New {@link Network} created
@typedef {Event} Event:network.new
@property {number} networkId
 
{@link Network} removed
@typedef {Event} Event:network.remove
@property {number} networkId
 
{@link Network} is ready
@typedef {Event} Event:network.init
@property {number} networkId
 
Aliases updated
@typedef {Event} Event:aliases
 
This event is fired when the core needs to be setup
@typedef {Event} Event:setup
@property {Object[]} backends - List of available storage backends
@property {String} backends[].DisplayName - Storage backends name
@property {String} backends[].Description - Storage backends description
@property {String[]} backends[].SetupKeys - Keys that will need a corresponding value to configure chosen storage backend
@property {Object} backends[].SetupDefaults - Defaults values for corresponding SetupKeys
 
This event is fired if the setup of the core was successful
@typedef {Event} Event:setupok
 
This event is fired if the setup of the core has failed
@typedef {Event} Event:setupfailed
@property {Object} error - The reason of the failure
 
This event is fired if an unhandled message is received
@typedef {Event} Event:unhandled
@property {Object} obj
 
An error occured
@typedef {Event} Event:error
@property {Object} error
This event is fired when quasselcore information are received