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,
fn: function( bot, params, message ) {
var inv = getKey(params, "i");
var inv = getKey( params, "i" );
bot.joinServer(inv, function(err, server){
if(err){
bot.reply(message, "I couldn't join that server :(");
}else{
bot.reply(message, "I joined **"+ server.name +"**, a server with "+server.channels.length()+" channels and "+server.members.length()+" members.");
bot.joinServer( inv, function( err, server ) {
if ( err ) {
bot.reply( message, "I couldn't join that server :(" );
} else {
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.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 ] );

View File

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