Add RichEmbed#attachFile (#1202)

* Add RichEmbed#attachFile

Mostly for attaching local images that can be accessed within the embed image/author icon/footer icon via `attachment//filename.png` and the like.

* Update docstring to reflect valid param types

* Update TextBasedChannel.js

* Update RichEmbed.js

* Update RichEmbed.js
This commit is contained in:
Zack Campbell
2017-02-21 13:29:37 -06:00
committed by Schuyler Cebulskie
parent d4a84915e6
commit db5259cdf1
2 changed files with 20 additions and 0 deletions

View File

@@ -65,6 +65,12 @@ class RichEmbed {
* @type {Object}
*/
this.footer = data.footer;
/**
* File to upload alongside this Embed
* @type {string}
*/
this.file = data.file;
}
/**
@@ -191,6 +197,18 @@ class RichEmbed {
this.footer = { text, icon_url: icon };
return this;
}
/**
* Sets the file to upload alongside the embed. This file can be accessed via `attachment://fileName.extension` when
* setting an embed image or author/footer icons. Only one file may be attached.
* @param {FileOptions|string} file Local path or URL to the file to attach, or valid FileOptions for a file to attach
* @returns {RichEmbed} This embed
*/
attachFile(file) {
if (this.file) throw new RangeError('You may not upload more than one file at once.');
this.file = file;
return this;
}
}
module.exports = RichEmbed;

View File

@@ -78,6 +78,8 @@ class TextBasedChannel {
options = {};
}
if (options.embed && options.embed.file) options.file = options.embed.file;
if (options.file) {
if (typeof options.file === 'string') options.file = { attachment: options.file };
if (!options.file.name) {