irc plugin for coffea 1.0-beta
- Make sure to use the latest beta version of coffea by running:
npm install --save coffea@beta
- Install
coffea-irc
:npm install coffea-irc
Specify the telegram protocol in your network config:
{
"protocol": "irc",
"network": "chat.freenode.net", // required
"nick": "coffeabot1337", // required
"channels": [ "#caffeinery" ], // optional
"bot": true, // optional, sets umode +B (marks user as bot), default: true
"prefix": "." // optional, default: !
}
coffea will automatically load coffea-irc
when it's needed! Thus, using irc (or other protocols) this way should work on any coffea project, without any tweaks (other than installing coffea-irc
and specifying the config).
coffea-irc
aims to be compatible with coffea. Of course, features that irc doesn't have (like audio messages) aren't available for irc protocols, they will just
be ignored.
Joining/parting channels:
networks.send({
type: 'join',
channel: '#caffeinery',
password: 'optional password for the channel'
})
networks.send({
type: 'part',
channel: '#caffeinery'
})
Sending irc commands:
networks.send({
type: 'send',
args: [ 'MODE', '#caffeinery', '+v', 'coffeabot1337' ]
})
You can find a list of all events in the node-irc
documentation.
All events listed there are forwarded to coffea, arguments to the function become part of the evt
object, e.g.:
networks.on('motd', (evt) => {
console.log('motd received: ', evt.motd)
})
Not supported by coffea yet, so use irc-colors for now:
import { blue } from 'irc-colors'
networks.on('message', (msg, reply) => reply(message(msg.channel,
blue("blue text")
)))