mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 11:03:30 +01:00
update clientUser#setAvatar (#819)
* WHO DID THIS * e * some people have base64 fetishes i guess Signed-off-by: Gus Caplan <fluffyrobotcheese@gmail.com>
This commit is contained in:
committed by
Schuyler Cebulskie
parent
478377ac52
commit
44bae385c2
File diff suppressed because one or more lines are too long
@@ -90,16 +90,24 @@ class ClientUser extends User {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the avatar of the logged in Client.
|
* Set the avatar of the logged in Client.
|
||||||
* @param {Base64Resolvable} avatar The new avatar
|
* @param {FileResolvable|Base64Resolveable} avatar The new avatar
|
||||||
* @returns {Promise<ClientUser>}
|
* @returns {Promise<ClientUser>}
|
||||||
* @example
|
* @example
|
||||||
* // set avatar
|
* // set avatar
|
||||||
* client.user.setAvatar(fs.readFileSync('./avatar.png'))
|
* client.user.setAvatar('./avatar.png')
|
||||||
* .then(user => console.log(`New avatar set!`))
|
* .then(user => console.log(`New avatar set!`))
|
||||||
* .catch(console.error);
|
* .catch(console.error);
|
||||||
*/
|
*/
|
||||||
setAvatar(avatar) {
|
setAvatar(avatar) {
|
||||||
return this.client.rest.methods.updateCurrentUser({ avatar });
|
return new Promise(resolve => {
|
||||||
|
if (avatar.startsWith('data:')) {
|
||||||
|
resolve(this.client.rest.methods.updateCurrentUser({ avatar }));
|
||||||
|
} else {
|
||||||
|
this.client.resolver.resolveFile(avatar).then(data => {
|
||||||
|
resolve(this.client.rest.methods.updateCurrentUser({ avatar: data }));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -176,12 +176,11 @@ class Webhook {
|
|||||||
* @param {FileResolvable} avatar The new avatar for the Webhook.
|
* @param {FileResolvable} avatar The new avatar for the Webhook.
|
||||||
* @returns {Promise<Webhook>}
|
* @returns {Promise<Webhook>}
|
||||||
*/
|
*/
|
||||||
edit(name, avatar) {
|
edit(name = this.name, avatar) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (avatar) {
|
if (avatar) {
|
||||||
this.client.resolver.resolveFile(avatar).then(file => {
|
this.client.resolver.resolveFile(avatar).then(file => {
|
||||||
let base64 = new Buffer(file, 'binary').toString('base64');
|
const dataURI = this.client.resolver.resolveBase64(file);
|
||||||
let dataURI = `data:;base64,${base64}`;
|
|
||||||
this.client.rest.methods.editWebhook(this, name, dataURI)
|
this.client.rest.methods.editWebhook(this, name, dataURI)
|
||||||
.then(resolve).catch(reject);
|
.then(resolve).catch(reject);
|
||||||
}).catch(reject);
|
}).catch(reject);
|
||||||
|
|||||||
Reference in New Issue
Block a user