Added file sending

This commit is contained in:
hydrabolt
2015-08-21 14:00:39 +01:00
parent 68db1f6ac0
commit 9572236b69
3 changed files with 102 additions and 54 deletions

View File

@@ -250,16 +250,30 @@ Commands[ "avatar" ] = {
} }
} }
Commands["setusername"] = { Commands[ "setusername" ] = {
oplevel : 3, oplevel: 3,
fn : function( bot, params, message ){ fn: function( bot, params, message ) {
var name = getKey( params, "name", "Boris Johnson" ); var name = getKey( params, "name", "Boris Johnson" );
bot.setUsername(name, function(err){ bot.setUsername( name, function( err ) {
if(err) if ( err )
bot.reply(message, err); bot.reply( message, err );
}) } )
}
}
Commands[ "cat" ] = {
oplevel: 0,
fn: function( bot, params, message ) {
var http = require( "http" );
var request = require( 'request' );
bot.sendFile( message, request("http://thewallpaperhost.com/wp-content/uploads/2014/12/cool-hd-wallpaper.jpg"), "cat.jpg", function( err ) {
bot.reply( message, err );
} );
} }
} }
@@ -283,12 +297,12 @@ Commands[ "icon" ] = {
} }
} }
Commands["avataritup"] = { Commands[ "avataritup" ] = {
oplevel : 2, oplevel: 2,
fn : function( bot, params, message ){ fn: function( bot, params, message ) {
console.log(message.channel); console.log( message.channel );
bot.sendMessage( message, message.channel.server.members.getValues("avatar").join("\n") ); bot.sendMessage( message, message.channel.server.members.getValues( "avatar" ).join( "\n" ) );
} }
} }
@@ -488,9 +502,9 @@ function getUser( message, params, bot ) {
if ( !message.isPM() ) { if ( !message.isPM() ) {
var wantedUser = getKey( params, "user", false ) || getKey( params, "u", false ); var wantedUser = getKey( params, "user", false ) || getKey( params, "u", false );
if ( wantedUser ) { if ( wantedUser ) {
if(bot){ if ( bot ) {
console.log(bot.getUsers().length()); console.log( bot.getUsers().length() );
return bot.getUsers().filter("username", wantedUser, true); return bot.getUsers().filter( "username", wantedUser, true );
} }
usr = message.channel.server.members.filter( Discord.isUserID( wantedUser ) ? "id" : "username", wantedUser, true ); usr = message.channel.server.members.filter( Discord.isUserID( wantedUser ) ? "id" : "username", wantedUser, true );
} }

View File

@@ -468,15 +468,15 @@ exports.Client.prototype.connectWebsocket = function( cb ) {
} else if ( dat.t === "PRESENCE_UPDATE" ) { } else if ( dat.t === "PRESENCE_UPDATE" ) {
var data = dat.d; var data = dat.d;
var getUser = self.getUser(data.user.id); var getUser = self.getUser( data.user.id );
if ( getUser ) { if ( getUser ) {
//user already exists //user already exists
var usr = new User( data.user ); var usr = new User( data.user );
if ( usr.equalsStrict( getUser ) ) { if ( usr.equalsStrict( getUser ) ) {
//no changes, actually a presence. //no changes, actually a presence.
} else { } else {
if(self.updateUserReferences( data.user.id, getUser, new User( data.user ) )){ if ( self.updateUserReferences( data.user.id, getUser, new User( data.user ) ) ) {
self.triggerEvent("userupdate", [getUser, usr]); self.triggerEvent( "userupdate", [ getUser, usr ] );
} }
} }
} }
@@ -535,8 +535,8 @@ exports.Client.prototype.connectWebsocket = function( cb ) {
} else if ( dat.t === "USER_UPDATE" ) { } else if ( dat.t === "USER_UPDATE" ) {
if ( dat.d.id === self.user.id ) { if ( dat.d.id === self.user.id ) {
var newUsr = new User(dat.d); var newUsr = new User( dat.d );
self.triggerEvent("userupdate", [self.user, newUsr]); self.triggerEvent( "userupdate", [ self.user, newUsr ] );
self.user = newUsr; self.user = newUsr;
} }
@@ -745,7 +745,14 @@ exports.Client.prototype.startPM = function( user, callback ) {
* delete itself after being sent. * delete itself after being sent.
* @method sendMessage * @method sendMessage
*/ */
exports.Client.prototype.sendMessage = function( destination, toSend, callback, options ) {
exports.Client.prototype.sendFile = function( destination, toSend, fileName, callback, options ) {
this.sendMessage( destination, toSend, callback, options, fileName );
}
exports.Client.prototype.sendMessage = function( destination, toSend, callback, options, fileName ) {
options = options || {}; options = options || {};
callback = callback || function() {}; callback = callback || function() {};
@@ -753,8 +760,10 @@ exports.Client.prototype.sendMessage = function( destination, toSend, callback,
var channel_id, message, mentions, self = this; var channel_id, message, mentions, self = this;
channel_id = resolveChannel( destination, self ); channel_id = resolveChannel( destination, self );
message = resolveMessage( toSend ); if ( !fileName ) {
mentions = resolveMentions( message, options.mention ); message = resolveMessage( toSend );
mentions = resolveMentions( message, options.mention );
}
if ( channel_id ) { if ( channel_id ) {
send(); send();
@@ -764,6 +773,15 @@ exports.Client.prototype.sendMessage = function( destination, toSend, callback,
function send() { function send() {
if(fileName){
Internal.XHR.sendFile( self.token, channel_id, toSend, fileName, function(err){
callback(err);
} );
return;
}
Internal.XHR.sendMessage( self.token, channel_id, { Internal.XHR.sendMessage( self.token, channel_id, {
content: message, content: message,
mentions: mentions mentions: mentions

View File

@@ -124,6 +124,22 @@ Internal.XHR.sendMessage = function( token, channelID, messageParameters, callba
} }
Internal.XHR.sendFile = function( token, channelID, file, fileName, callback ) {
request
.post( Endpoints.CHANNELS + "/" + channelID + "/messages" )
.set( "authorization", token )
.attach("file", file, fileName)
.end( function( err, res ) {
if ( err ) {
callback( err );
} else {
callback( null, res.body );
}
} );
}
Internal.XHR.deleteMessage = function( token, channelID, messageID, callback ) { Internal.XHR.deleteMessage = function( token, channelID, messageID, callback ) {
request request
.del( Endpoints.CHANNELS + "/" + channelID + "/messages/" + messageID ) .del( Endpoints.CHANNELS + "/" + channelID + "/messages/" + messageID )
@@ -133,19 +149,19 @@ Internal.XHR.deleteMessage = function( token, channelID, messageID, callback ) {
} ); } );
} }
Internal.XHR.updateMessage = function( token, channelID, messageID, messageParameters, callback ){ Internal.XHR.updateMessage = function( token, channelID, messageID, messageParameters, callback ) {
request request
.patch(Endpoints.CHANNELS + "/" + channelID + "/messages/" + messageID) .patch( Endpoints.CHANNELS + "/" + channelID + "/messages/" + messageID )
.set( "authorization", token ) .set( "authorization", token )
.send( messageParameters ) .send( messageParameters )
.end(function(err, res){ .end( function( err, res ) {
if ( err ) { if ( err ) {
callback( err ); callback( err );
} else { } else {
callback( null, res.body ); callback( null, res.body );
} }
}); } );
} }
Internal.XHR.getChannelLogs = function( token, channelID, amount, callback ) { Internal.XHR.getChannelLogs = function( token, channelID, amount, callback ) {
@@ -225,36 +241,36 @@ Internal.XHR.getServer = function( token, serverID, callback ) {
} }
Internal.XHR.acceptInvite = function(token, inviteID, callback){ Internal.XHR.acceptInvite = function( token, inviteID, callback ) {
request request
.post( Endpoints.API + "/invite/" + inviteID ) .post( Endpoints.API + "/invite/" + inviteID )
.set( "authorization", token ) .set( "authorization", token )
.end(function(err, res){ .end( function( err, res ) {
if(err){ if ( err ) {
callback(err); callback( err );
}else{ } else {
callback(null, res.body) callback( null, res.body )
} }
}); } );
} }
Internal.XHR.setUsername = function(token, avatar, email, newPassword, password, username, callback){ Internal.XHR.setUsername = function( token, avatar, email, newPassword, password, username, callback ) {
request request
.patch(Endpoints.API + "/users/@me") .patch( Endpoints.API + "/users/@me" )
.set( "authorization", token ) .set( "authorization", token )
.send({ .send( {
avatar : avatar, avatar: avatar,
email : email, email: email,
new_password : newPassword, new_password: newPassword,
password : password, password: password,
username : username username: username
}) } )
.end(function(err){ .end( function( err ) {
callback(err); callback( err );
}); } );
} }