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"] = {
oplevel : 3,
fn : function( bot, params, message ){
Commands[ "setusername" ] = {
oplevel: 3,
fn: function( bot, params, message ) {
var name = getKey( params, "name", "Boris Johnson" );
bot.setUsername(name, function(err){
if(err)
bot.reply(message, err);
})
bot.setUsername( name, function( err ) {
if ( 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"] = {
oplevel : 2,
fn : function( bot, params, message ){
Commands[ "avataritup" ] = {
oplevel: 2,
fn: function( bot, params, message ) {
console.log(message.channel);
bot.sendMessage( message, message.channel.server.members.getValues("avatar").join("\n") );
console.log( message.channel );
bot.sendMessage( message, message.channel.server.members.getValues( "avatar" ).join( "\n" ) );
}
}
@@ -488,9 +502,9 @@ function getUser( message, params, bot ) {
if ( !message.isPM() ) {
var wantedUser = getKey( params, "user", false ) || getKey( params, "u", false );
if ( wantedUser ) {
if(bot){
console.log(bot.getUsers().length());
return bot.getUsers().filter("username", wantedUser, true);
if ( bot ) {
console.log( bot.getUsers().length() );
return bot.getUsers().filter( "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" ) {
var data = dat.d;
var getUser = self.getUser(data.user.id);
var getUser = self.getUser( data.user.id );
if ( getUser ) {
//user already exists
var usr = new User( data.user );
if ( usr.equalsStrict( getUser ) ) {
//no changes, actually a presence.
} else {
if(self.updateUserReferences( data.user.id, getUser, new User( data.user ) )){
self.triggerEvent("userupdate", [getUser, usr]);
if ( self.updateUserReferences( data.user.id, getUser, new User( data.user ) ) ) {
self.triggerEvent( "userupdate", [ getUser, usr ] );
}
}
}
@@ -535,8 +535,8 @@ exports.Client.prototype.connectWebsocket = function( cb ) {
} else if ( dat.t === "USER_UPDATE" ) {
if ( dat.d.id === self.user.id ) {
var newUsr = new User(dat.d);
self.triggerEvent("userupdate", [self.user, newUsr]);
var newUsr = new User( dat.d );
self.triggerEvent( "userupdate", [ self.user, newUsr ] );
self.user = newUsr;
}
@@ -745,7 +745,14 @@ exports.Client.prototype.startPM = function( user, callback ) {
* delete itself after being sent.
* @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 || {};
callback = callback || function() {};
@@ -753,8 +760,10 @@ exports.Client.prototype.sendMessage = function( destination, toSend, callback,
var channel_id, message, mentions, self = this;
channel_id = resolveChannel( destination, self );
message = resolveMessage( toSend );
mentions = resolveMentions( message, options.mention );
if ( !fileName ) {
message = resolveMessage( toSend );
mentions = resolveMentions( message, options.mention );
}
if ( channel_id ) {
send();
@@ -764,6 +773,15 @@ exports.Client.prototype.sendMessage = function( destination, toSend, callback,
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, {
content: message,
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 ) {
request
.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
.patch(Endpoints.CHANNELS + "/" + channelID + "/messages/" + messageID)
.set( "authorization", token )
.send( messageParameters )
.end(function(err, res){
if ( err ) {
callback( err );
} else {
callback( null, res.body );
}
});
request
.patch( Endpoints.CHANNELS + "/" + channelID + "/messages/" + messageID )
.set( "authorization", token )
.send( messageParameters )
.end( function( err, res ) {
if ( err ) {
callback( err );
} else {
callback( null, res.body );
}
} );
}
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
.post( Endpoints.API + "/invite/" + inviteID )
.set( "authorization", token )
.end(function(err, res){
if(err){
callback(err);
}else{
callback(null, res.body)
.end( function( err, res ) {
if ( err ) {
callback( err );
} else {
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
.patch(Endpoints.API + "/users/@me")
.patch( Endpoints.API + "/users/@me" )
.set( "authorization", token )
.send({
avatar : avatar,
email : email,
new_password : newPassword,
password : password,
username : username
})
.end(function(err){
callback(err);
});
.send( {
avatar: avatar,
email: email,
new_password: newPassword,
password: password,
username: username
} )
.end( function( err ) {
callback( err );
} );
}