diff --git a/bin/client.js b/bin/client.js index e3c862e..9bc0171 100644 --- a/bin/client.js +++ b/bin/client.js @@ -33,7 +33,7 @@ MODERATE_SKIP:"modSkip",MODERATE_STAFF:"modStaff",PDJ_MESSAGE:"pdjMessage",PDJ_U USER_FOLLOW:"userFollow",USER_JOIN:"userJoin",USER_LEAVE:"userLeave",USER_UPDATE:"userUpdate",VOTE_UPDATE:"voteUpdate",VOTE_UPDATE_MULTI:"voteUpdateMulti"};p3Socket=ws=client=null;initialized=!1;commandPrefix="!";apiId=0;_updateCode=_key=_this=null;lastRpcMessage=Date.now();lastHistoryID="";serverRequests={queue:[],sent:0,limit:10,running:!1};room=new Room;rpcHandlers={}; logger={pad:function(a){return 10>a?"0"+a.toString(10):a.toString(10)},months:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),timestamp:function(){var a=new Date,b=[this.pad(a.getHours()),this.pad(a.getMinutes()),this.pad(a.getSeconds())].join(":");return[a.getDate(),this.months[a.getMonth()],b].join(" ")},log:function(){var a=Array.prototype.slice.call(arguments);a.unshift(this.timestamp());console.log.apply(console,a)}};http.OutgoingMessage.prototype.__renderHeaders=http.OutgoingMessage.prototype._renderHeaders; http.OutgoingMessage.prototype._renderHeaders=function(){if(this._header)throw Error("Can't render headers after they are sent to the client.");this.setHeader("Cookie",'usr="'+_key+'"');return this.__renderHeaders()};function __bind(a,b){return function(){return a.apply(b,arguments)}}function intPM(a,b){p3Socket.send({type:"PM",value:{id:"object"===typeof a?a.id:a,message:b}})} -function intChat(a,b){var c=room.self.id.substr(0,6)+Math.floor(4294967295*Math.random()).toString(16);ws.send("5::/room:"+JSON.stringify({name:"chat",args:[{msg:a,chatID:c}]}));void 0!==b&&!isNaN(~~b)&&0<~~b&&setTimeout(function(){_this.moderateDeleteChat(c)},1E3*~~b)} +function intChat(a,b){var c=room.self.id.substr(0,6)+Math.floor(4294967295*Math.random()).toString(16);ws.send("5::/room:"+JSON.stringify({name:"chat",args:[{msg:a,chatID:c}]}));void 0!==b&&!isNaN(b)&&0<~~b&&setTimeout(function(){_this.moderateDeleteChat(c)},1E3*~~b)} var DateUtilities={MONTHS:"January February March April May June July August September October November December".split(" "),SERVER_TIME:null,OFFSET:0,setServerTime:function(a){this.SERVER_TIME=this.convertUnixDateStringToDate(a);this.OFFSET=this.SERVER_TIME.getTime()-(new Date).getTime()},yearsSince:function(a){return this.ServerDate().getFullYear()-a.getFullYear()},monthsSince:function(a){var b=this.ServerDate();return 12*(b.getFullYear()-a.getFullYear())+(b.getMonth()-a.getMonth())},daysSince:function(a){var b= this.ServerDate(),c=b.getTime(),d=a.getTime();a=(c-d)/864E5;c=(c-d)%864E5/864E5;01E3*this.secondsSinceMidnight(b)&&a++;return~~a},hoursSince:function(a){return~~((this.ServerDate().getTime()-a.getTime())/36E5)},minutesSince:function(a){return~~((this.ServerDate().getTime()-a.getTime())/6E4)},secondsSince:function(a){return~~((this.ServerDate().getTime()-a.getTime())/1E3)},monthName:function(a,b){var c=this.MONTHS[a.getMonth()];return b?c:c.substr(0,3)},secondsSinceMidnight:function(a){var b= new Date(a.getTime());this.midnight(b);return~~((a.getTime()-b.getTime())/1E3)},midnight:function(a){a.setHours(0);a.setMinutes(0);a.setSeconds(0);a.setMilliseconds(0)},minutesUntil:function(a){return~~((a.getTime()-this.ServerDate().getTime())/6E4)},millisecondsUntil:function(a){return a.getTime()-this.ServerDate().getTime()},ServerDate:function(){return new Date((new Date).getTime()+this.OFFSET)},getSecondsElapsed:function(a){return a&&"0"!=a?this.secondsSince(new Date(a.substr(0,a.indexOf(".")))): @@ -48,7 +48,7 @@ function send(a){return client.send(a)} function receivedChatMessage(a){var b,c,d,e,f,g,k;if(initialized){a.message=encoder.htmlDecode(a.message);if("message"!=a.type&&"pm"!=a.type||0!==a.message.indexOf(commandPrefix)||!_this.processOwnMessages&&a.from.id==room.self.id)"emote"==a.type&&_this.emit(messageTypes.CHAT_EMOTE,a);else{if("function"===typeof _this.preCommandHandler&&!1===_this.preCommandHandler(a))return;c="pm"==a.type;d=a.message.substr(commandPrefix.length).split(" ")[0];e={message:a,chatID:a.chatID,from:room.getUser(a.fromID), command:d,args:a.message.substr(commandPrefix.length+d.length+1),mentions:[],respond:function(){var b=Array.prototype.slice.call(arguments).join(" ");return c?intPM(this.from,b):_this.sendChat("@"+a.from+" "+b)},respondTimeout:function(){var b=Array.prototype.slice.call(arguments),d=b.splice(b.length-1,1),b=b.join(" ");return c?intPM(this.from,b):_this.sendChat("@"+a.from+" "+b,d)},havePermission:function(b,c,d){void 0===b&&(b=0);(b=void 0!==room.getUser(a.fromID)&&room.getUser(a.fromID).permission>= b)&&"function"===typeof c?c():b||"function"!==typeof d||d();return b},isFrom:function(b,c,d){"string"===typeof b&&(b=[b]);if(void 0===b||!util.isArray(b))return"function"===typeof d&&d(),!1;(b=-1h.username.length)&& -(h=g[b]);null!==h&&(e.args=e.args.substr(0,f)+"%MENTION-"+k+"-"+e.mentions.length+"%"+e.args.substr(f+h.username.length+1),e.mentions.push(h));f=e.args.indexOf("@",f+1)}e.args=e.args.split(" ");for(b in e.args)e.args.hasOwnProperty(b)&&(isNaN(~~e.args[b])||(e.args[b]=~~e.args[b]));for(b in e.mentions)e.mentions.hasOwnProperty(b)&&(e.args[e.args.indexOf("%MENTION-"+k+"-"+b+"%")]=e.mentions[b]);_this.emit(messageTypes.CHAT_COMMAND,e);_this.emit(messageTypes.CHAT_COMMAND+":"+d,e);_this.moderateDeleteChat(a.chatID)}"pm"== +(h=g[b]);null!==h&&(e.args=e.args.substr(0,f)+"%MENTION-"+k+"-"+e.mentions.length+"%"+e.args.substr(f+h.username.length+1),e.mentions.push(h));f=e.args.indexOf("@",f+1)}e.args=e.args.split(" ");for(b in e.args)e.args.hasOwnProperty(b)&&(isNaN(e.args[b])||(e.args[b]=~~e.args[b]));for(b in e.mentions)e.mentions.hasOwnProperty(b)&&(e.args[e.args.indexOf("%MENTION-"+k+"-"+b+"%")]=e.mentions[b]);_this.emit(messageTypes.CHAT_COMMAND,e);_this.emit(messageTypes.CHAT_COMMAND+":"+d,e);_this.moderateDeleteChat(a.chatID)}"pm"== a.type?_this.emit("pm",a):(_this.emit(messageTypes.CHAT,a),_this.emit(messageTypes.CHAT+":"+a.type,a),null!==room.getUser()&&-1 0) { + if (timeout !== undefined && !isNaN(timeout) && ~~timeout > 0) { setTimeout(function() { _this.moderateDeleteChat(cID); }, ~~timeout * 1E3); @@ -527,7 +527,7 @@ function receivedChatMessage(m) { obj.args = obj.args.split(' '); for (i in obj.args) { if (!obj.args.hasOwnProperty(i)) continue; - if (!isNaN(~~obj.args[i])) + if (!isNaN(obj.args[i])) obj.args[i] = ~~obj.args[i]; } for (i in obj.mentions) {