@binsky/libquassel
v3.1.9
Published
Javascript lib to connect and interact with Quassel IRC core
Downloads
2
Readme
libquassel
Javascript library to connect and interact with Quassel IRC server.
Install
npm install --production libquassel
Use in browser
You just need to import dist/libquassel.js
in your HTML page.
Development
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
3.0 breaking changes
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.
node specific
Client(...).connect
method expects aSocket
or any otherDuplex
as parameter.
browser specific
libquassel
is available as a global object.Client(...).connect
method expects alibquassel.WebSocketStream
or any otherDuplex
as parameter.
Getting Started
node
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);
browser
<!-- 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);
Documentation
Examples
See test folder for examples.
Changelog
3.1.0
- Add support for core highlight rules
3.1.1
- Update dependencies
License
Copyright (c) 2019 Joël Charles Licensed under the MIT license.