Javascript library to connect and interact with Quassel IRC server.
npm install --production libquassel
You just need to import dist/libquassel.js
in your HTML page.
npm install libquassel
In order to create a browser compatible file, run the following commands
# use browserify to build on change
npm run watch
# before commit, make the dev version + minified version + the doc
npm run build
Version 3.0
introduces the following breaking changes:
message.Type
has been superseded bymessage.Types
, and all its constants are now UPPERCASEchannel.active
has been superseded bychannel.isActive
channel.isChannel()
has been superseded bychannel.isChannel
channel.isHighlighted()
has been superseded bychannel.isHighlighted
message.isHighlighted()
has been superseded bymessage.isHighlighted
message.isSelf()
has been superseded bymessage.isSelf
network.getBufferCollection()
andnetwork.getBufferMap()
have been merged intonetworks.buffers
networkCollection.findBuffer(...)
andnetworkCollection.get(...)
have been merged intonetwork.getBuffer(...)
- The majority of setter methods has been replaced by direct affectation to the target property
- e.g.
network.setName(name)
as been superseded bynetwork.name = name
- e.g.
- The majority of getter methods has been replaced by direct access to the target property
- e.g.
network.getStatusBuffer()
as been superseded bynetwork.statusBuffer
- e.g.
Client(...).connect
method expects aSocket
or any otherDuplex
as parameter.
libquassel
is available as a global object.Client(...).connect
method expects alibquassel.WebSocketStream
or any otherDuplex
as parameter.
const { Client } = require('libquassel');
const net = require('net');
const socket = net.createConnection({
host: "localhost",
port: 4242
});
const quassel = new Client((next) => next("user", "password"));
quassel.on('network.init', (networkId) => {
network = quassel.networks.get(networkId);
// ...
});
// ...
quassel.connect(socket);
<!-- In your HTML -->
<script src="/path/to/libquassel.js"></script>
// libquassel in available as a global in browser
const socket = new libquassel.WebSocketStream('wss://domain.tld:12345', ['binary', 'base64']);
const quassel = new libquassel.Client((next) => next("user", "password"));
quassel.on('network.init', (networkId) => {
network = quassel.networks.get(networkId);
// ...
});
// ...
quassel.connect(socket);
See test folder for examples.
- Add support for core highlight rules
- Update dependencies
Copyright (c) 2019 Joël Charles Licensed under the MIT license.