mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Added setAvatar
This commit is contained in:
@@ -713,6 +713,23 @@ var Client = (function (_EventEmitter) {
|
||||
});
|
||||
};
|
||||
|
||||
//def setAvatar
|
||||
|
||||
Client.prototype.setAvatar = function setAvatar(avatar) {
|
||||
var callback = arguments.length <= 1 || arguments[1] === undefined ? function (err) {} : arguments[1];
|
||||
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
self.internal.setAvatar(avatar).then(function () {
|
||||
callback();
|
||||
resolve();
|
||||
})["catch"](function (err) {
|
||||
callback(err);
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
//def joinVoiceChannel
|
||||
|
||||
Client.prototype.joinVoiceChannel = function joinVoiceChannel(channel) {
|
||||
|
||||
@@ -988,7 +988,7 @@ var InternalClient = (function () {
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
request.patch(Endpoints.ME).set("authorization", self.token).send({
|
||||
avatar: data.avatar || self.user.avatar,
|
||||
avatar: self.resolver.resolveToBase64(data.avatar) || self.user.avatar,
|
||||
email: data.email || self.email,
|
||||
new_password: data.new_password || null,
|
||||
password: data.password || self.password,
|
||||
@@ -1003,6 +1003,12 @@ var InternalClient = (function () {
|
||||
});
|
||||
};
|
||||
|
||||
//def setAvatar
|
||||
|
||||
InternalClient.prototype.setAvatar = function setAvatar(avatar) {
|
||||
return this.updateDetails({ avatar: avatar });
|
||||
};
|
||||
|
||||
//def setUsername
|
||||
|
||||
InternalClient.prototype.setUsername = function setUsername(username) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
"use strict";
|
||||
/* global Buffer */
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
@@ -21,6 +22,14 @@ var Resolver = (function () {
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
Resolver.prototype.resolveToBase64 = function resolveToBase64(resource) {
|
||||
if (resource instanceof Buffer) {
|
||||
resource = resource.toString("base64");
|
||||
resource = "data:image/jpg;base64," + resource;
|
||||
}
|
||||
return resource;
|
||||
};
|
||||
|
||||
Resolver.prototype.resolveInviteID = function resolveInviteID(resource) {
|
||||
if (resource instanceof Invite) {
|
||||
return resource.id;
|
||||
|
||||
@@ -710,6 +710,22 @@ class Client extends EventEmitter {
|
||||
});
|
||||
}
|
||||
|
||||
//def setAvatar
|
||||
setAvatar(avatar, callback = function (err) { }) {
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
self.internal.setAvatar(avatar)
|
||||
.then(() => {
|
||||
callback();
|
||||
resolve();
|
||||
})
|
||||
.catch(err => {
|
||||
callback(err);
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
//def joinVoiceChannel
|
||||
joinVoiceChannel(channel, callback = function (err) { }) {
|
||||
var self = this;
|
||||
|
||||
@@ -1056,7 +1056,7 @@ class InternalClient {
|
||||
.patch(Endpoints.ME)
|
||||
.set("authorization", self.token)
|
||||
.send({
|
||||
avatar: data.avatar || self.user.avatar,
|
||||
avatar: self.resolver.resolveToBase64(data.avatar) || self.user.avatar,
|
||||
email : data.email || self.email,
|
||||
new_password : data.new_password || null,
|
||||
password : data.password || self.password,
|
||||
@@ -1072,6 +1072,11 @@ class InternalClient {
|
||||
});
|
||||
}
|
||||
|
||||
//def setAvatar
|
||||
setAvatar(avatar) {
|
||||
return this.updateDetails({avatar});
|
||||
}
|
||||
|
||||
//def setUsername
|
||||
setUsername(username) {
|
||||
return this.updateDetails({username});
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
"use strict";
|
||||
/* global Buffer */
|
||||
|
||||
var fs = require("fs");
|
||||
|
||||
@@ -16,11 +17,19 @@ class Resolver {
|
||||
constructor(internal) {
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
resolveInviteID(resource){
|
||||
if(resource instanceof Invite){
|
||||
|
||||
resolveToBase64(resource) {
|
||||
if (resource instanceof Buffer) {
|
||||
resource = resource.toString("base64");
|
||||
resource = "data:image/jpg;base64," + resource;
|
||||
}
|
||||
return resource;
|
||||
}
|
||||
|
||||
resolveInviteID(resource) {
|
||||
if (resource instanceof Invite) {
|
||||
return resource.id;
|
||||
}else if (typeof resource == "string" || resource instanceof String) {
|
||||
} else if (typeof resource == "string" || resource instanceof String) {
|
||||
|
||||
if (resource.indexOf("http") === 0) {
|
||||
var split = resource.split("/");
|
||||
@@ -33,15 +42,15 @@ class Resolver {
|
||||
return null;
|
||||
}
|
||||
|
||||
resolveServer(resource){
|
||||
if(resource instanceof Server){
|
||||
resolveServer(resource) {
|
||||
if (resource instanceof Server) {
|
||||
return resource;
|
||||
}else if(resource instanceof ServerChannel){
|
||||
} else if (resource instanceof ServerChannel) {
|
||||
return resource.server;
|
||||
}else if(resource instanceof String || typeof resource === "string"){
|
||||
} else if (resource instanceof String || typeof resource === "string") {
|
||||
return this.internal.servers.get("id", resource);
|
||||
}else if(resource instanceof Message){
|
||||
if(resource.channel instanceof TextChannel){
|
||||
} else if (resource instanceof Message) {
|
||||
if (resource.channel instanceof TextChannel) {
|
||||
return resource.server;
|
||||
}
|
||||
}
|
||||
@@ -118,7 +127,7 @@ class Resolver {
|
||||
|
||||
resolveVoiceChannel(resource) {
|
||||
// resolveChannel will also work but this is more apt
|
||||
if(resource instanceof VoiceChannel){
|
||||
if (resource instanceof VoiceChannel) {
|
||||
return resource;
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -13,6 +13,9 @@ client.on("message", m => {
|
||||
client.stopTyping(m.channel);
|
||||
} else if (m.content === "changename") {
|
||||
client.setUsername("Hydrabot!");
|
||||
} else if (m.content === "setav") {
|
||||
var fs = require("fs");
|
||||
client.setAvatar(fs.readFileSync("./test/image.png"));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user