Fix sendFile content

This commit is contained in:
abalabahaha
2016-04-15 18:16:57 -07:00
parent d0f2029fa6
commit 864126976f
4 changed files with 91 additions and 70 deletions

View File

@@ -138,11 +138,15 @@ var InternalClient = (function () {
if (useAuth) {
ret.set("authorization", this.token);
}
if (data) {
ret.send(data);
}
if (file) {
ret.attach("file", file.file, file.name);
if (data) {
for (var i in data) {
ret.field(i, data[i]);
}
}
} else if (data) {
ret.send(data);
}
ret.set('User-Agent', this.userAgentInfo.full);
return new Promise(function (resolve, reject) {
@@ -702,10 +706,40 @@ var InternalClient = (function () {
});
};
// def sendFile
InternalClient.prototype.sendFile = function sendFile(where, _file, name, content) {
var _this17 = this;
if (!name) {
if (_file instanceof String || typeof _file === "string") {
name = require("path").basename(_file);
} else if (_file && _file.path) {
// fs.createReadStream()'s have .path that give the path. Not sure about other streams though.
name = require("path").basename(_file.path);
} else {
name = "default.png"; // Just have to go with default filenames.
}
}
return this.resolver.resolveChannel(where).then(function (channel) {
return _this17.resolver.resolveFile(_file).then(function (file) {
return _this17.apiRequest("post", _Constants.Endpoints.CHANNEL_MESSAGES(channel.id), true, {
content: content
}, {
name: name,
file: file
}).then(function (res) {
return channel.messages.add(new _StructuresMessage2["default"](res, channel, _this17.client));
});
});
});
};
// def deleteMessage
InternalClient.prototype.deleteMessage = function deleteMessage(_message) {
var _this17 = this;
var _this18 = this;
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
@@ -716,7 +750,7 @@ var InternalClient = (function () {
var chain = options.wait ? delay(options.wait) : Promise.resolve();
return chain.then(function () {
return _this17.apiRequest("del", _Constants.Endpoints.CHANNEL_MESSAGE(message.channel.id, message.id), true);
return _this18.apiRequest("del", _Constants.Endpoints.CHANNEL_MESSAGE(message.channel.id, message.id), true);
}).then(function () {
return message.channel.messages.remove(message);
});
@@ -725,7 +759,7 @@ var InternalClient = (function () {
// def updateMessage
InternalClient.prototype.updateMessage = function updateMessage(msg, _content) {
var _this18 = this;
var _this19 = this;
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
@@ -741,36 +775,7 @@ var InternalClient = (function () {
content: content,
tts: options.tts
}).then(function (res) {
return message.channel.messages.update(message, new _StructuresMessage2["default"](res, message.channel, _this18.client));
});
};
// def sendFile
InternalClient.prototype.sendFile = function sendFile(where, _file, name, content) {
var _this19 = this;
if (!name) {
if (_file instanceof String || typeof _file === "string") {
name = require("path").basename(_file);
} else if (_file.path) {
// fs.createReadStream()'s have .path that give the path. Not sure about other streams though.
name = require("path").basename(_file.path);
} else {
name = "default.png"; // Just have to go with default filenames.
}
}
return this.resolver.resolveChannel(where).then(function (channel) {
return _this19.resolver.resolveFile(_file).then(function (file) {
return _this19.apiRequest("post", _Constants.Endpoints.CHANNEL_MESSAGES(channel.id), true, null, {
name: name,
file: file,
content: content
}).then(function (res) {
return channel.messages.add(new _StructuresMessage2["default"](res, channel, _this19.client));
});
});
return message.channel.messages.update(message, new _StructuresMessage2["default"](res, message.channel, _this19.client));
});
};