UNPKG

transit-im

Version:

express-like framework for AIM bots creation (ICQ as well)

105 lines (78 loc) 2.36 kB
// Generated by CoffeeScript 1.6.3 (function() { var app, niceFormat, transit; transit = require('transit-im'); app = transit(); app.use({ install: function(transit) { return transit.client(this); }, receive: function(callback) { this.callback = callback; }, start: function() {}, sendBack: function(userId, data, cb) {} }); app.use(function(req, res, next) { console.log(req.user); console.log(req.command); console.log(req.data); console.log(req.handlers); console.log(req.handler); console.log(req.session); req.data = "[" + req.data + "]"; req.attr("data", "[" + req.data + "]"); res.sendBack("Data received, processing..."); return next(); }); app.use({ install: function(transit) { transit.extendRequest("myRequestProperty"); return function(req, res, next) { req.attr("myRequestProperty", "dummy"); return next(); }; } }); app.receive(function(req, res) { return res.sendBack("Echoed: " + req.data); }); app.use(transit.commandParser); app.receive('hello', function(req, res) { return res.sendBack('hi'); }); app.receive('iam {name}', function(req, res) { return res.sendBack("hi " + req.name); }); app.receive('wishes {{list}}', function(req, res) { return res.sendBack("your wish list has " + req.list.length + " items"); }); niceFormat = function(data, options, callback) { var braces, formattedData, _ref; braces = (_ref = options != null ? options.braces : void 0) != null ? _ref : "[]"; formattedData = braces[0] + data + braces[1]; return callback(null, formattedData); }; app.formatOutput(niceFormat); app.sendBack(11, "hi!", function() {}); app.receive(function(req, res) { return res.sendBack(req.data, { braces: "<>" }); }); app.formatOutput("niceFormat", niceFormat); app.sendBack.niceFormat(11, "hi!", function() {}); app.receive(function(req, res) { return res.niceFormat(req.data, { braces: "<>" }); }); app.use(transit.commandParser()); app.use(transit.doNotWaitForResponse()); app.use(transit.echo()); app.use(transit.html2txt()); app.use(transit.sessions()); app.use(transit.autohelp()); app.use(transit.alias()); app.use(transit.chain()); }).call(this);