mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
typings/fix(MessageEmbed): add interfaces for props, fix copy constructor (#3492)
* updated typings * Updated docs * fixed types for MessageEmbedOptions * added curly bracket spaces * fix(MessageEmbed): make copy constructor work properly * fix(MessageEmbed): copy the provider too Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
This commit is contained in:
@@ -67,81 +67,108 @@ class MessageEmbed {
|
||||
this.fields = data.fields ? data.fields.map(Util.cloneObject) : [];
|
||||
|
||||
/**
|
||||
* The thumbnail of this embed (if there is one)
|
||||
* @type {?Object}
|
||||
* @typedef {Object} MessageEmbedThumbnail
|
||||
* @property {string} url URL for this thumbnail
|
||||
* @property {string} proxyURL ProxyURL for this thumbnail
|
||||
* @property {number} height Height of this thumbnail
|
||||
* @property {number} width Width of this thumbnail
|
||||
*/
|
||||
|
||||
/**
|
||||
* The thumbnail of this embed (if there is one)
|
||||
* @type {?MessageEmbedThumbnail}
|
||||
*/
|
||||
this.thumbnail = data.thumbnail ? {
|
||||
url: data.thumbnail.url,
|
||||
proxyURL: data.thumbnail.proxy_url,
|
||||
proxyURL: data.thumbnail.proxyURL || data.thumbnail.proxy_url,
|
||||
height: data.thumbnail.height,
|
||||
width: data.thumbnail.width,
|
||||
} : null;
|
||||
|
||||
/**
|
||||
* The image of this embed, if there is one
|
||||
* @type {?Object}
|
||||
* @typedef {Object} MessageEmbedImage
|
||||
* @property {string} url URL for this image
|
||||
* @property {string} proxyURL ProxyURL for this image
|
||||
* @property {number} height Height of this image
|
||||
* @property {number} width Width of this image
|
||||
*/
|
||||
|
||||
/**
|
||||
* The image of this embed, if there is one
|
||||
* @type {?MessageEmbedImage}
|
||||
*/
|
||||
this.image = data.image ? {
|
||||
url: data.image.url,
|
||||
proxyURL: data.image.proxy_url,
|
||||
proxyURL: data.image.proxyURL || data.image.proxy_url,
|
||||
height: data.image.height,
|
||||
width: data.image.width,
|
||||
} : null;
|
||||
|
||||
/**
|
||||
* The video of this embed (if there is one)
|
||||
* @type {?Object}
|
||||
* @typedef {Object} MessageEmbedVideo
|
||||
* @property {string} url URL of this video
|
||||
* @property {string} proxyURL ProxyURL for this video
|
||||
* @property {number} height Height of this video
|
||||
* @property {number} width Width of this video
|
||||
*/
|
||||
|
||||
/**
|
||||
* The video of this embed (if there is one)
|
||||
* @type {?MessageEmbedVideo}
|
||||
* @readonly
|
||||
*/
|
||||
this.video = data.video ? {
|
||||
url: data.video.url,
|
||||
proxyURL: data.video.proxy_url,
|
||||
proxyURL: data.video.proxyURL || data.video.proxy_url,
|
||||
height: data.video.height,
|
||||
width: data.video.width,
|
||||
} : null;
|
||||
|
||||
/**
|
||||
* The author of this embed (if there is one)
|
||||
* @type {?Object}
|
||||
* @typedef {Object} MessageEmbedAuthor
|
||||
* @property {string} name The name of this author
|
||||
* @property {string} url URL of this author
|
||||
* @property {string} iconURL URL of the icon for this author
|
||||
* @property {string} proxyIconURL Proxied URL of the icon for this author
|
||||
*/
|
||||
|
||||
/**
|
||||
* The author of this embed (if there is one)
|
||||
* @type {?MessageEmbedAuthor}
|
||||
*/
|
||||
this.author = data.author ? {
|
||||
name: data.author.name,
|
||||
url: data.author.url,
|
||||
iconURL: data.author.iconURL || data.author.icon_url,
|
||||
proxyIconURL: data.author.proxyIconUrl || data.author.proxy_icon_url,
|
||||
proxyIconURL: data.author.proxyIconURL || data.author.proxy_icon_url,
|
||||
} : null;
|
||||
|
||||
/**
|
||||
* The provider of this embed (if there is one)
|
||||
* @type {?Object}
|
||||
* @typedef {Object} MessageEmbedProvider
|
||||
* @property {string} name The name of this provider
|
||||
* @property {string} url URL of this provider
|
||||
*/
|
||||
this.provider = data.provider;
|
||||
|
||||
/**
|
||||
* The footer of this embed
|
||||
* @type {?Object}
|
||||
* The provider of this embed (if there is one)
|
||||
* @type {?MessageEmbedProvider}
|
||||
*/
|
||||
this.provider = data.provider ? {
|
||||
name: data.provider.name,
|
||||
url: data.provider.name,
|
||||
} : null;
|
||||
|
||||
/**
|
||||
* @typedef {Object} MessageEmbedFooter
|
||||
* @property {string} text The text of this footer
|
||||
* @property {string} iconURL URL of the icon for this footer
|
||||
* @property {string} proxyIconURL Proxied URL of the icon for this footer
|
||||
*/
|
||||
|
||||
/**
|
||||
* The footer of this embed
|
||||
* @type {?MessageEmbedFooter}
|
||||
*/
|
||||
this.footer = data.footer ? {
|
||||
text: data.footer.text,
|
||||
iconURL: data.footer.iconURL || data.footer.icon_url,
|
||||
|
||||
Reference in New Issue
Block a user