2.6.2, added case-insensitive filtering and edit message error catching

This commit is contained in:
hydrabolt
2015-08-20 15:56:12 +01:00
parent 265d112afc
commit ebd29e6abd
3 changed files with 49 additions and 11 deletions

View File

@@ -326,15 +326,32 @@ Commands[ "acceptinvite" ] = {
oplevel: 0, oplevel: 0,
fn: function( bot, params, message ) { fn: function( bot, params, message ) {
var inv = getKey(params, "i"); var inv = getKey( params, "i" );
bot.joinServer(inv, function(err, server){ bot.joinServer( inv, function( err, server ) {
if(err){ if ( err ) {
bot.reply(message, "I couldn't join that server :("); bot.reply( message, "I couldn't join that server :(" );
}else{ } else {
bot.reply(message, "I joined **"+ server.name +"**, a server with "+server.channels.length()+" channels and "+server.members.length()+" members."); bot.reply( message, "I joined **" + server.name + "**, a server with " + server.channels.length() + " channels and " + server.members.length() + " members." );
} }
}); } );
}
}
Commands[ "filtertest" ] = {
oplevel: 0,
fn: function( bot, params, message ) {
console.log( message.channel.server.members.filter( "username", "HYDRABOLT" ) );
console.log( message.channel.server.members.filter( "username", "HYDRABOLT", false, true ) );
}
}
Commands[ "test" ] = {
oplevel: 0,
fn: function( bot, params, message ) {
console.log( message.channel.server.channels.filter( "name", "a", true ) );
} }
} }

View File

@@ -448,7 +448,12 @@ exports.Client.prototype.connectWebsocket = function( cb ) {
data.mention_everyone = data.mention_everyone || formerMessage.everyoneMentioned; data.mention_everyone = data.mention_everyone || formerMessage.everyoneMentioned;
data.embeds = data.embeds || formerMessage.embeds; data.embeds = data.embeds || formerMessage.embeds;
newMessage = new Message( data, channel ); try{
newMessage = new Message( data, channel );
}catch(e){
self.debug("dropped a message update packet");
return;
}
self.triggerEvent( "messageUpdate", [ formerMessage, newMessage ] ); self.triggerEvent( "messageUpdate", [ formerMessage, newMessage ] );

View File

@@ -153,13 +153,14 @@ exports.List.prototype.concatSublists = function( whereList, discriminator ) {
return concatList; return concatList;
} }
exports.List.prototype.filter = function( key, value, onlyOne ) { exports.List.prototype.filter = function( key, value, onlyOne, caseInsen ) {
var results = []; var results = [];
value = change(value);
for ( index in this.contents ) { for ( index in this.contents ) {
var child = this.contents[ index ]; var child = this.contents[ index ];
if ( child[ key ] == value ) { if ( change(child[ key ]) == value ) {
if ( onlyOne ) { if ( onlyOne ) {
return child; return child;
} else { } else {
@@ -168,6 +169,13 @@ exports.List.prototype.filter = function( key, value, onlyOne ) {
} }
} }
function change(val){
if(caseInsen){
val = val.toUpperCase();
}
return val;
}
if ( onlyOne ) { if ( onlyOne ) {
return false; return false;
} }
@@ -178,6 +186,7 @@ exports.List.prototype.filter = function( key, value, onlyOne ) {
exports.List.prototype.deepFilter = function( keys, value, onlyOne ) { exports.List.prototype.deepFilter = function( keys, value, onlyOne ) {
var results = []; var results = [];
value = change(value);
for ( index in this.contents ) { for ( index in this.contents ) {
var child = this.contents[ index ]; var child = this.contents[ index ];
@@ -187,7 +196,7 @@ exports.List.prototype.deepFilter = function( keys, value, onlyOne ) {
buffer = buffer[ key ]; buffer = buffer[ key ];
} }
if ( buffer == value ) { if ( change(buffer) == value ) {
if ( onlyOne ) { if ( onlyOne ) {
return child; return child;
} else { } else {
@@ -196,6 +205,13 @@ exports.List.prototype.deepFilter = function( keys, value, onlyOne ) {
} }
} }
function change(val){
if(caseInsen){
val = val.toUpperCase();
}
return val;
}
if ( onlyOne ) { if ( onlyOne ) {
return false; return false;
} }