Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (message.substr(0, 1) === '/' && cmd) {
- // To guard against command typos, we now emit an error message
- return connection.sendTo(room.id, "The command '/" + cmd + "' was unrecognized. To send a message starting with '/" + cmd + "', type '//" + cmd + "'.");
- }
- }
- if (message.charAt(0) === '/' && message.charAt(1) !== '/') {
- message = '/' + message;
- }
- message = canTalk(user, room, connection, message);
- if (!message) return false;
- if (message.charAt(0) === '/' && message.charAt(1) !== '/') {
- return parse(message, room, user, connection, levelsDeep + 1);
- }
- if (color.has(user.userid)) {
- var add;
- if (user.getIdentity().substring(0, 1) !== ' ') {
- if (room.battle) {
- add = room.add('|html|<button name="parseCommand" class="userbuttonbattle" value="/user ' + user.getIdentity() + '"><font color = "gray">' + user.getIdentity().substr(0, 1) + '</font><b><font color = ' + color.get(user.userid) + '>' + user.name + ': </font></b></button> ' + formatMessage(message));
- } else {
- add = room.add('|html|<button name="parseCommand" class="userbutton" value="/user ' + user.getIdentity() + '"><font color = "gray">' + user.getIdentity().substr(0, 1) + '</font><b><font color = ' + color.get(user.userid) + '>' + user.name + ': </font></b></button> ' + formatMessage(message));
- }
- return add;
- } else {
- if (room.battle) {
- add = room.add('|html|<button name="parseCommand" class="userbuttonbattle" value="/user ' + user.getIdentity() + '"><b><font color = ' + color.get(user.userid) + '>' + user.name + ': </font></b></button> ' + formatMessage(message));
- } else {
- add = room.add('|html|<button name="parseCommand" class="userbutton" value="/user ' + user.getIdentity() + '"><b><font color = ' + color.get(user.userid) + '>' + user.name + ': </font></b></button> ' + formatMessage(message));
- }
- return add;
- }
- }
- return message;
- };
- exports.package = {};
- fs.readFile('package.json', function(err, data) {
- if (err) return;
- exports.package = JSON.parse(data);
- });
- exports.uncacheTree = function(root) {
- var uncache = [require.resolve(root)];
- function getFilename(module) {
- return module.filename;
- }
- do {
- var newuncache = [];
- for (var i = 0; i < uncache.length; ++i) {
- if (require.cache[uncache[i]]) {
- newuncache.push.apply(newuncache,
- require.cache[uncache[i]].children.map(getFilename)
- );
- delete require.cache[uncache[i]];
- }
- }
- uncache = newuncache;
- } while (uncache.length > 0);
- };
- function formatMessage(message) {
- if (typeof message == 'string') {
- message = Tools.escapeHTML(message);
- //formatting
- message = message.replace(/\*\*([^< ]([^<]*?[^< ])?)\*\*/g, '<b>$1</b>');
- message = message.replace(/\`\`([^< ](?:[^<`]*?[^< ])?)\`\`/g,'<code>$1</code>');
- message = message.replace(/\_\_([^< ]([^<]*?[^< ])?)\_\_/g, '<i>$1</i>');
- message = message.replace(/\[\[([^< ]([^<`]*?[^< ])?)\]\]/ig, '<a href = http://www.google.com/search?ie=UTF-8&btnI&q=$1>$1</a>');
- message = message.replace(/\~\~([^< ](?:[^<]*?[^< ])?)\~\~/g, '<s>$1</s>');
- message = message.replace(/(https?\:\/\/[a-z0-9-.]+(\:[0-9]+)?(\/([^\s]*[^\s?.,])?)?|[a-z0-9]([a-z0-9-\.]*[a-z0-9])?\.(com|org|net|edu|us)(\:[0-9]+)?((\/([^\s]*[^\s?.,])?)?|\b))/ig, '<a href = "http://$1">$1</a>');
- if (message.indexOf('spoiler:') > -1) {
- var position = message.indexOf('spoiler:') + 8;
- if (message.charAt(position) === ':') position++;
- if (message.charAt(position) === ' ') position++;
- message = message.substr(0, position) + '<span class = "spoiler">' + message.substr(position) + '</span>';
- }
- }
- return message;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement