imubot
Version:
A simple helpful bot.
99 lines (70 loc) • 2.43 kB
JavaScript
// Generated by CoffeeScript 1.12.6
(function() {
var CatchAllMessage, EnterMessage, LeaveMessage, Message, TextMessage, TopicMessage,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
Message = (function() {
function Message(user, done) {
this.user = user;
this.done = done != null ? done : false;
this.room = this.user.room;
}
Message.prototype.finish = function() {
return this.done = true;
};
return Message;
})();
TextMessage = (function(superClass) {
extend(TextMessage, superClass);
function TextMessage(user, text, id) {
this.user = user;
this.text = text;
this.id = id;
TextMessage.__super__.constructor.call(this, this.user);
}
TextMessage.prototype.match = function(regex) {
return this.text.match(regex);
};
TextMessage.prototype.toString = function() {
return this.text;
};
return TextMessage;
})(Message);
EnterMessage = (function(superClass) {
extend(EnterMessage, superClass);
function EnterMessage() {
return EnterMessage.__super__.constructor.apply(this, arguments);
}
return EnterMessage;
})(Message);
LeaveMessage = (function(superClass) {
extend(LeaveMessage, superClass);
function LeaveMessage() {
return LeaveMessage.__super__.constructor.apply(this, arguments);
}
return LeaveMessage;
})(Message);
TopicMessage = (function(superClass) {
extend(TopicMessage, superClass);
function TopicMessage() {
return TopicMessage.__super__.constructor.apply(this, arguments);
}
return TopicMessage;
})(TextMessage);
CatchAllMessage = (function(superClass) {
extend(CatchAllMessage, superClass);
function CatchAllMessage(message) {
this.message = message;
CatchAllMessage.__super__.constructor.call(this, this.message.user);
}
return CatchAllMessage;
})(Message);
module.exports = {
Message: Message,
TextMessage: TextMessage,
EnterMessage: EnterMessage,
LeaveMessage: LeaveMessage,
TopicMessage: TopicMessage,
CatchAllMessage: CatchAllMessage
};
}).call(this);