diff options
Diffstat (limited to 'js/blotbotboot/node_modules/irc/example/bot.js')
-rwxr-xr-x | js/blotbotboot/node_modules/irc/example/bot.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/js/blotbotboot/node_modules/irc/example/bot.js b/js/blotbotboot/node_modules/irc/example/bot.js new file mode 100755 index 0000000..d897ce8 --- /dev/null +++ b/js/blotbotboot/node_modules/irc/example/bot.js @@ -0,0 +1,49 @@ +#!/usr/bin/env node + +var irc = require('../'); + +var bot = new irc.Client('irc.dollyfish.net.nz', 'nodebot', { + debug: true, + channels: ['#test', '#othertest'] +}); + +bot.addListener('error', function(message) { + console.error('ERROR: %s: %s', message.command, message.args.join(' ')); +}); + +bot.addListener('message#blah', function(from, message) { + console.log('<%s> %s', from, message); +}); + +bot.addListener('message', function(from, to, message) { + console.log('%s => %s: %s', from, to, message); + + if (to.match(/^[#&]/)) { + // channel message + if (message.match(/hello/i)) { + bot.say(to, 'Hello there ' + from); + } + if (message.match(/dance/)) { + setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D\\-<\u0001'); }, 1000); + setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D|-<\u0001'); }, 2000); + setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D/-<\u0001'); }, 3000); + setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D|-<\u0001'); }, 4000); + } + } + else { + // private message + console.log('private message'); + } +}); +bot.addListener('pm', function(nick, message) { + console.log('Got private message from %s: %s', nick, message); +}); +bot.addListener('join', function(channel, who) { + console.log('%s has joined %s', who, channel); +}); +bot.addListener('part', function(channel, who, reason) { + console.log('%s has left %s: %s', who, channel, reason); +}); +bot.addListener('kick', function(channel, who, by, reason) { + console.log('%s was kicked from %s by %s: %s', who, channel, by, reason); +}); |