irclib
v1.0.0-beta.6
Published
Library for IRC clients
Downloads
19
Readme
irclib
Library for making IRC clients
Table of Contents
Installation
$ npm install --save irclib
Usage
const { Client } = require('irclib')
const options = {
//... See doc below
}
const client = new Client(options)
client.start()
Options
| Option | Description | Default value | Mandatory |
| ------ | ----------- | ------------- | --------- |
| host
| IP Address or hostname | N/A | Yes
|
| port
| Port | 6667 | No
|
| ssl
| SSL engine | No
| No
|
| channels
| List of default join channels | []
| No
|
| partMessage
| Message when the lib parts from a channel | [IrcLib] Good Bye.
| No
|
| quitMessage
| Message when the lib disconnects from the server | [IrcLib] Good Bye.
| No
|
| password
| Password of the server | ''
| No
|
| encoding
| Text encoding | utf8
| No
|
| version
| Response text of the CTCP version | Version info in the package.json of your application | No
|
| user
| User information | N/A | Yes
|
| nickname
| Initial nickname | N/A | Yes
|
| realname
| Real name | N/A | Yes
|
| alternative
| Alternative nickname | Nickname + _
| No
|
| username
| User name | N/A | Yes
|
| nickserv
| NickServ password if the nickname is registered | N/A | No
|
| extra
| Custom application data for this client (must be an object) | {}
| No
|
| debugLevel
| Debug Level code (error
, warning
, info
, debug
) | warning
| No
|
Events
| Event | Description |
| ----- | ----------- |
| pubmsg
| Event received when a message is sent to a channel |
| privmsg
| Event received when a message is sent to the user |
| pubnotice
| Event received when a notice is sent to a channel |
| privnotice
| Event received when a notice is sent to the user |
| join
| Event received when an user joins a channel |
| part
| Event received when another user parts from a channel |
| quit
| Event receievd when another user quits |
| error
| Event received when the IRC server emits an error |
| nick
| Event received when an user changes his nickname |
| kick
| Event received when an user is kicked from a channel |
| ping
| Event received on a PING request |
| invite
| Event received when another user invites the user on a channel |
| mode
| Event received when a mode is changed |
Every event callback takes 4 arguments :
sender
: User information of the sendermiddle
: Middle information of the messageparams
: Array with other middle informationtrailing
: Trailing text of the message
There is a complete list of other events on this page.
Every event can be bound by its numeric code or by a short version of the name. Example : RPL_WELCOME
is bound to the welcome
event.
Components
You can use components to make your code clear.
pubmsg.js
module.exports = (client) => {
client.on('pubmsg', (sender, channel, message) => {
console.log(`Message received from ${sender} on ${channel}: ${message}`)
})
}
index.js
client.component(require('./pubmsg'))
API Reference
Class Client
on(event, callback)
Registers an event with a callback. Returns the client to allow event chaining.
start()
Starts the client by establishing the connection and listening for incoming data.
privmsg(target, message)
Sends a message to a channel or an user identified by target
.
notice(target, message)
Sends a notice to a channel or an user identified by target
.
action(target, message)
Sends a mIRC-styled action message (/me
) to a channel or a user identified by target
.
join(target)
Sends a join message to enter a channel identified by target
.
part(target, message)
Sends a part message to leave a channel identified by target
before leaving the channel.
quit(message)
Sends a quit message to the server before quitting the network.
mode(channel, modificators, targets = [])
Sends a mode message on a channel
with inline modificators
, eventually applied to targets
.