0.0.2 • Published 11 years ago
irc-robot v0.0.2
irc-robot
Small framework for writing irc bots using node.
var ircbot = require('irc-robot');
var bot = ircbot({
name: 'botname',
pass: 'password',
chan: '#channelname'
});
bot.on(/^hi bot$/, function (req, res) {
res.send('hello!');
});
bot.connect();API
This is all very much a work in progress, but so far...
ircbot(options)
Creates a new bot.
var ircbot = require('irc-robot');
var bot = ircbot({
name: 'botname',
chan: '#channelname'
});Options
Required
namechan||channel
Optional
password(default:"password")realname(default:"I am a bot")server(default:"irc.freenode.org")port(default:6667)debug(default:false)
bot.on(regex, cb)
Calls the callback when a message in the channel matches the regex.
The callback takes 2 arguments:
request object
from- nick of user who sent messageto- name of channelmsg- full string of the messagematches- return value of msg.match(regex)
response object
send- function that sends message to channel
bot.on(/^hey (\S+)$/, function (req, res) {
res.send(req.from + ' said "hey" to ' + req.matches[1]);
});bot.onPM(regex, cb)
Calls the callback if a PM to the bot matches the regex.
The callback takes 2 arguments:
request object
from- nick of user who sent messageto- bot namemsg- full string of the messagematches- return value of msg.match(regex)
response object
send- function that sends a PM back to the user
bot.onPM(/^hey (\S+)$/, function (req, res) {
res.send('my name is not ' + req.matches[1]);
});bot.every(interval, cb)
Calls the callback every interval milliseconds.
The callback takes 1 argument:
response object
send- function that sends a message to the channel
bot.every(60 * 1000, function (res) {
res.send('I will send this message every minute');
});bot.PM(recipient, message)
Sends a PM.
recipientcan be a string for a user or a channel
bot.PM('username', 'hey');bot.connect()
Connects to the channel and starts listening.